一曲悲画秋 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

    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)