求助:SQL 4个表关联查询语句

学习C#+SQL 2017-08-18 11:16:23
问题如下:

4个表:产品名称表,产品构成表,成品订单表,成品在库表
以产品构成表输出下:
用部件的CODE(下面的KCODE字段)来查找出 成品名称(用CODE从产品名称表里取得),成品订单数,成品在库1(库位限定为NPP),成品在库2(库位限定为DPP)。

所有的表用CODE关联,现已将前3个表关联上并输出了结果。
select h.name,sum(r.cvol-r.tjitu)as jitu from xprts p,xrece r,xhead h where p.code=h.code and p.code=r.code and p.kcode='DZB002271' group by h.name

现在问题是在库表不知道怎么关联。
下面是我的语句
select h.name,sum(r.cvol-r.tjitu)as jitu,NPP,DPP
from xprts p,xrece r,xhead h where p.code=h.code and p.code=r.code
(select sum(case hokan when 'npp' then zaik else 0 end) as npp,
sum(case hokan when 'dpp' then zaik else 0 end) as dpp
from xzaik z,xprts p where z.code=p.code) and p.kcode='DZB002271' group by h.name,npp,dpp

还请大神指点。
...全文
447 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
学习C#+SQL 2017-08-21
  • 打赏
  • 举报
回复
琢磨出来了。 按下面的语句可以实现我的数据输出要求。 select h.name,sum(r.cvol-r.tjitu)as jitu,NPP,DPP from(select z.code as code, sum(case hokan when 'NPP' then zaik else 0 end) as NPP, sum(case hokan when 'DPP' then zaik else 0 end) as DPP from xzaik z group by z.code)as z,xprts p,xrece r,xhead h where p.code=h.code and p.code=r.code and z.code=p.code and p.kcode='%%' group by h.name,npp,dpp having sum(r.cvol-r.tjitu)>0
xdashewan 2017-08-18
  • 打赏
  • 举报
回复
怎么关联得要问设计数据库的人,我们表也看不见,同时也不清楚设计的业务逻辑,很难告诉你怎么连接
xdashewan 2017-08-18
  • 打赏
  • 举报
回复
引用 2 楼 xiang1434 的回复:
也许是我没说明白。 做了个数据结构图。请看下是否能看明白。
你的在库表需要做合计之后再输出?其实无论做不做合计,在库表和构成表的关联就是成品code,如果做合计那也要按成品code合计
学习C#+SQL 2017-08-18
  • 打赏
  • 举报
回复
也许是我没说明白。
做了个数据结构图。请看下是否能看明白。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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