求一个SQL语句?

songxing 2008-06-28 09:53:43
REC_DH表中数量是已经订货的数量,CPXX表中的数量是原始的数量,我要解决的是把没有订货的产品列出来,可能一个产品有5个,只订了其中3个,要把还有两个能列出来,如果没订过货,要列出其中5个都么有订过,也有可能一个产品今天订了2个,过几天又订两个,下面的SQL语句不对,请高手指点一下。



SELECT XMXX.htrq,
XMXX.htmc,
XMXX.ywy,
XMXX.jfxm,
XMXX.dh,
DOC_CPDA.cpmc,
DOC_CPDA.ggxh,
DOC_CPDA.jldw,
(CPXX.SL - REC_DH.SL) as wdsl
FROM REC_DH,
XMXX,
CPXX,
DOC_CPDA
WHERE ( REC_DH.hth = XMXX.hth ) and
( XMXX.hth = CPXX.hth ) and
( CPXX.cpbh = DOC_CPDA.cpbh )
...全文
270 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhi0518 2008-07-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 songxing 的帖子:]
可能一个产品有5个,只订了其中3个,要把还有两个能列出来,如果没订过货,要列出其中5个都么有订过,也有可能一个产品今天订了2个,过几天又订两个,…
[/Quote]
是不是同一个产品在REC_DH表中可能有多条记录?如果是可以这么写:

SELECT XMXX.htrq,
XMXX.htmc,
XMXX.ywy,
XMXX.jfxm,
XMXX.dh,
DOC_CPDA.cpmc,
DOC_CPDA.ggxh,
DOC_CPDA.jldw,
(CPXX.sl - a.sl) as wdsl
FROM (select hth,sum(sl) as sl from REC_DH group by hth) a,
XMXX,
CPXX,
DOC_CPDA
WHERE ( a.hth = XMXX.hth ) and
( XMXX.hth = CPXX.hth ) and
( CPXX.cpbh = DOC_CPDA.cpbh )
Andy-W 2008-07-01
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 wzy_love_sly 的回复:]
:) 继续关注
[/Quote]
hery2002 2008-07-01
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 songxing 的回复:]
还没有解决呢?
[/Quote]
还有啥问题,
songxing 2008-07-01
  • 打赏
  • 举报
回复
还没有解决呢?
wzy_love_sly 2008-06-28
  • 打赏
  • 举报
回复
:) 继续关注
hery2002 2008-06-28
  • 打赏
  • 举报
回复
貌似楼主跑了,,,,
这个帖子还有没有问题?
hery2002 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 perfectaction 的回复:]
我升星了,就不想干活了~
[/Quote]
.........
nzperfect 2008-06-28
  • 打赏
  • 举报
回复
我升星了,就不想干活了~
hery2002 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 perfectaction 的回复:]
大师圆寂后就快成神仙了 ^^
[/Quote]
兄弟们,解决问题先,不要耍嘴皮子
呵呵~
nzperfect 2008-06-28
  • 打赏
  • 举报
回复
大师圆寂后就快成神仙了 ^^
hery2002 2008-06-28
  • 打赏
  • 举报
回复
o
wzy_love_sly 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hery2002 的回复:]
引用 3 楼 wzy_love_sly 的回复:
你上,我散了...

??
一起上?~
[/Quote]

呵呵,我散了,这样题目必须给表结构和数据,
否则得神仙来解决
hery2002 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 songxing 的回复:]
是产品数量,当然一个定单有很多个产品
[/Quote]
根据你1楼的SQL应该就是这样子的,
hery2002 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 songxing 的回复:]
还是不行啊,一条记录都没有出来?
[/Quote]
是不是你的关联有问题..,
给点数据出来看看.
songxing 2008-06-28
  • 打赏
  • 举报
回复
是产品数量,当然一个定单有很多个产品
arrow_gx 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用楼主 songxing 的帖子:]
...我要解决的是把没有订货的产品列出来,可能一个产品有5个,只订了其中3个,要把还有两个能列出来,...[/Quote]

是产品数量 还是 不同的产品呢

LZ 的逻辑没看懂,不好弄
songxing 2008-06-28
  • 打赏
  • 举报
回复
还是不行啊,一条记录都没有出来?
songxing 2008-06-28
  • 打赏
  • 举报
回复
谢谢你,我试试看。
hery2002 2008-06-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 songxing 的回复:]
wdsl=0的就不要显示出来了
[/Quote]
SELECT x.htrq,  
x.htmc,
x.ywy,
x.jfxm,
x.dh,
d.cpmc,
d.ggxh,
d.jldw,
(isnull(c.SL,0) - isnull(r.SL,0)) as wdsl
FROM REC_DH R
left join XMXX x on x.hth = r.hth
left join CPXX c on c.hth = r.hth
left join DOC_CPDA d on d.cpbh = c.cpbh
where (isnull(c.SL,0) - isnull(r.SL,0)) >0
songxing 2008-06-28
  • 打赏
  • 举报
回复
wdsl=0的就不要显示出来了
加载更多回复(5)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧