Foxtable(狐表)用户栏目专家坐堂 → 两个表union后再与第三表left join要怎么写


  共有2005人关注过本帖树形打印复制链接

主题:两个表union后再与第三表left join要怎么写

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/4 8:44:00 [显示全部帖子]

select c.产品编码,c.工序号,c.仓库,c.盘点日期,c.实盘数量,d.本期入库,d.本期出库,d.本期变动 from 
(SeLECT b.产品编码,b.工序号,a.仓库,盘点日期,(实盘数量+实盘不良数量+实盘报废数量) As 实盘数量 FROM 盘点表 a inner join 盘点明细 b on a.盘点编号 = b.盘点编号 
Union 
SeLECT 产品编码,工序号,仓库,'' AS 盘点日期,'' as 实盘数量 FROM 库存表 
WHERE NOT exists (SeLECT DISTINCT 产品编码 FROM 盘点表 a inner join 盘点明细 b on a.盘点编号 = b.盘点编号)) as c

LEFT JOIN
 (select 产品编码,工序号,仓库,isnull(sum(入库数量),0) as 本期入库,isnull(sum(出库数量),0) as 本期出库,isnull(sum(进出数量),0) as 本期变动 from Stockinout 
 where 进出类别 <> '盘点' and 品质状态 <> '未判定' And 仓库 = '电子成品仓' and 进出日期 > '2016-09-30' group by 产品编码,工序号,仓库) d

on c.产品编码 = d.产品编码 and c.工序号 = d.工序号 and c.仓库 = d.仓库

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/4 13:51:00 [显示全部帖子]

S eLECT 产品编码,工序号,仓库,'' AS 盘点日期,0 as 实盘数量 FROM 库存表 
WHERE (isnull(产品编码,'')+isnull(工序号,'')+isnull(仓库,'')) NOT in (S eLECT DISTINCT isnull(产品编码,'')+isnull(工序号,'')+isnull(仓库,'') FROM 盘点表 a inner join 盘点明细 b on a.盘点编号 = b.盘点编号)

 回到顶部