一曲悲画秋 2020-04-20 16:49 采纳率: 50%
浏览 157
已结题

如何将查询结果中的自动填充行数据去掉(mssql)?

SELECT
    A.生产部门,
    A.去年累计入库数量,
    -- B.本年入库生产部门,
    B.本年累计入库数量,
    -- C.上月入库生产部门,
    C.上月累计入库数量,
    -- D.本月入库生产部门,
    D.本月累计入库数量,
    -- E.昨天生产部门,
    E.昨天总入库数,
    F.昨天入库生产部门,
    F.昨天入库物料编码,
    F.昨天入库物料名称,
    F.昨天入库规格型号,
    F.昨天累计入库数量 
FROM
(
SELECT
    t6.FNAME AS '生产部门',
    sum( t2.FREALQTY ) AS '去年累计入库数量' 
FROM
    T_PRD_INSTOCK t1
    LEFT JOIN T_PRD_INSTOCKENTRY t2 ON t1.FID = t2.FID
    LEFT JOIN T_BD_MATERIAL t3 ON t2.FMATERIALID = t3.FMATERIALID 
    LEFT JOIN T_BD_MATERIAL_L t4 ON t3.FMATERIALID = t4.FMATERIALID 
    LEFT JOIN T_BD_DEPARTMENT t5 ON t2.FWORKSHOPID = t5.FDEPTID
    LEFT JOIN T_BD_DEPARTMENT_L t6 ON t5.FDEPTID = t6.FDEPTID
WHERE
    DATEDIFF(year,t1.FDATE,GETDATE())=1            -- 去年--
GROUP BY
    t6.FNAME,
    t5.FNUMBER
) A 
LEFT JOIN (
SELECT
    t6.FNAME AS '本年入库生产部门',
    sum( t2.FREALQTY ) AS '本年累计入库数量' 
FROM
    T_PRD_INSTOCK t1
    LEFT JOIN T_PRD_INSTOCKENTRY t2 ON t1.FID = t2.FID
    LEFT JOIN T_BD_MATERIAL t3 ON t2.FMATERIALID = t3.FMATERIALID 
    LEFT JOIN T_BD_MATERIAL_L t4 ON t3.FMATERIALID = t4.FMATERIALID 
    LEFT JOIN T_BD_DEPARTMENT t5 ON t2.FWORKSHOPID = t5.FDEPTID
    LEFT JOIN T_BD_DEPARTMENT_L t6 ON t5.FDEPTID = t6.FDEPTID
WHERE
    DATEDIFF(year,t1.FDATE,GETDATE())=0            -- 今年--
GROUP BY
    t6.FNAME,
    t5.FNUMBER
) B
ON A.生产部门 = B.本年入库生产部门
LEFT JOIN (
SELECT
    t6.FNAME AS '上月入库生产部门',
    SUM( t2.FREALQTY ) AS '上月累计入库数量' 
FROM
    T_PRD_INSTOCK t1
    LEFT JOIN T_PRD_INSTOCKENTRY t2 ON t1.FID = t2.FID
    LEFT JOIN T_BD_MATERIAL t3 ON t2.FMATERIALID = t3.FMATERIALID 
    LEFT JOIN T_BD_MATERIAL_L t4 ON t3.FMATERIALID = t4.FMATERIALID 
    LEFT JOIN T_BD_DEPARTMENT t5 ON t2.FWORKSHOPID = t5.FDEPTID
    LEFT JOIN T_BD_DEPARTMENT_L t6 ON t5.FDEPTID = t6.FDEPTID
WHERE
    DATEDIFF(month,t1.FDATE,GETDATE())=1  -- 上月
GROUP BY
    t6.FNAME,
    t5.FNUMBER
) C
ON B.本年入库生产部门 = C.上月入库生产部门
LEFT JOIN ( 
SELECT
    t6.FNAME AS '本月入库生产部门',
    sum( t2.FREALQTY ) AS '本月累计入库数量' 
FROM
    T_PRD_INSTOCK t1
    LEFT JOIN T_PRD_INSTOCKENTRY t2 ON t1.FID = t2.FID
    LEFT JOIN T_BD_MATERIAL t3 ON t2.FMATERIALID = t3.FMATERIALID 
    LEFT JOIN T_BD_MATERIAL_L t4 ON t3.FMATERIALID = t4.FMATERIALID 
    LEFT JOIN T_BD_DEPARTMENT t5 ON t2.FWORKSHOPID = t5.FDEPTID
    LEFT JOIN T_BD_DEPARTMENT_L t6 ON t5.FDEPTID = t6.FDEPTID
WHERE
    DATEDIFF(month,t1.FDATE,GETDATE())=0           -- 本月--
GROUP BY
    t6.FNAME,
    t5.FNUMBER
) D
ON C.上月入库生产部门 = D.本月入库生产部门
LEFT JOIN (
SELECT
    t6.FNAME AS '昨天生产部门',
    t5.FNUMBER AS '部门编码',
    SUM( t2.FREALQTY ) AS '昨天总入库数' 
FROM
    T_PRD_INSTOCK t1
    LEFT JOIN T_PRD_INSTOCKENTRY t2 ON t1.FID = t2.FID
    LEFT JOIN T_BD_MATERIAL t3 ON t2.FMATERIALID = t3.FMATERIALID
    LEFT JOIN T_BD_MATERIAL_L t4 ON t3.FMATERIALID = t4.FMATERIALID
    LEFT JOIN T_BD_DEPARTMENT t5 ON t2.FWORKSHOPID = t5.FDEPTID
    LEFT JOIN T_BD_DEPARTMENT_L t6 ON t5.FDEPTID = t6.FDEPTID 
WHERE
    DATEDIFF( DAY, t1.FDATE, GETDATE ( ) ) = 1 -- 昨天
GROUP BY
    t6.FNAME,
    t5.FNUMBER 
) E
ON D.本月入库生产部门 = E.昨天生产部门
LEFT JOIN (
SELECT
    t6.FNAME AS '昨天入库生产部门',
    t3.FNUMBER AS '昨天入库物料编码',
    t4.FNAME AS '昨天入库物料名称',
    t4.FSPECIFICATION AS '昨天入库规格型号',
    sum( t2.FREALQTY ) AS '昨天累计入库数量' 
FROM
    T_PRD_INSTOCK t1
    LEFT JOIN T_PRD_INSTOCKENTRY t2 ON t1.FID = t2.FID
    LEFT JOIN T_BD_MATERIAL t3 ON t2.FMATERIALID = t3.FMATERIALID 
    LEFT JOIN T_BD_MATERIAL_L t4 ON t3.FMATERIALID = t4.FMATERIALID 
    LEFT JOIN T_BD_DEPARTMENT t5 ON t2.FWORKSHOPID = t5.FDEPTID
    LEFT JOIN T_BD_DEPARTMENT_L t6 ON t5.FDEPTID = t6.FDEPTID 
WHERE
    DATEDIFF(day,t1.FDATE,GETDATE())=1            -- 昨天
GROUP BY
    t3.FNUMBER,
    t4.FNAME,
    t4.FSPECIFICATION,
    t6.FNAME,
    t5.FNUMBER
)   F
ON E.昨天生产部门 = F.昨天入库生产部门 
ORDER BY
    部门编码

```![图片说明](https://img-ask.csdn.net/upload/202004/20/1587372426_24541.png)
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-04-20 18:06
    关注

    将现在的查询作为子查询,对前面4列再做一个group by

    评论

报告相同问题?

悬赏问题

  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化