Files
JY1.0/sql/库存查询_2026年前未完成订单需求明细.sql

187 lines
8.1 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 库存查询2026年前未完成订单需求明细按组件完成状态排除已完成组件并汇总导出修改人:Ld 修改时间:2026-07-24 11:30:00;
SET NOCOUNT ON;
;WITH AS
(
SELECT
c.,
o.,
o.,
o.,
ISNULL(kh., '') AS ,
ISNULL(psn., CONVERT(nvarchar(50), o.)) AS ,
c.,
c.,
c. AS ,
c. AS ,
o.,
o.,
p.
FROM dbo.PDM_组件名称 c
INNER JOIN dbo.PDM_机床名称 m ON c. = m.
INNER JOIN dbo.PDM_项目名称 p ON m. = p.
INNER JOIN dbo._订单信息_基础表 o ON p. = o.
LEFT JOIN dbo._客户名称 kh ON p. = kh.
LEFT JOIN dbo._人员名单 psn ON o. = psn.
),
AS
(
SELECT
co.,
co.,
co.,
co.,
b.,
b.,
ISNULL(mat., b.) AS ,
ISNULL(mat., b.) AS ,
SUM(ISNULL(b., 0)) AS
FROM dbo.PDM_零件明细表_基本件 b
INNER JOIN co ON b. = co.
LEFT JOIN dbo._物料主文件_基本 mat ON b. = mat.
WHERE co. = 1
AND co. <> 3
AND co. < '2026-01-01'
AND NOT (ISNULL(co., 0) = 6 AND ISNULL(co., 0) = 1)
AND NOT (ISNULL(co., 0) = 4 OR (ISNULL(co., 0) > 0 AND ISNULL(co., 0) >= ISNULL(co., 0)))
GROUP BY co., co., co., co., b., b., ISNULL(mat., b.), ISNULL(mat., b.)
UNION ALL
SELECT
co.,
co.,
co.,
co.,
s.,
s.,
mat. AS ,
mat. AS ,
SUM(ISNULL(s., 0)) AS
FROM dbo.PDM_零件明细表_标准件和外购件 s
INNER JOIN co ON s. = co.
LEFT JOIN dbo._物料主文件_基本 mat ON s. = mat.
WHERE co. = 1
AND co. <> 3
AND co. < '2026-01-01'
AND NOT (ISNULL(co., 0) = 6 AND ISNULL(co., 0) = 1)
AND NOT (ISNULL(co., 0) = 4 OR (ISNULL(co., 0) > 0 AND ISNULL(co., 0) >= ISNULL(co., 0)))
GROUP BY co., co., co., co., s., s., mat., mat.
UNION ALL
SELECT
co.,
co.,
co.,
co.,
t.,
t.,
mat. AS ,
mat. AS ,
SUM(ISNULL(t., 0)) AS
FROM dbo._装配执行_临时领料明细 t
LEFT JOIN co ON t. = co.
LEFT JOIN dbo._物料主文件_基本 mat ON t. = mat.
WHERE t. IS NOT NULL
AND co. < '2026-01-01'
AND NOT (ISNULL(co., 0) = 6 AND ISNULL(co., 0) = 1)
AND NOT (ISNULL(co., 0) = 4 OR (ISNULL(co., 0) > 0 AND ISNULL(co., 0) >= ISNULL(co., 0)))
GROUP BY co., co., co., co., t., t., mat., mat.
),
AS
(
SELECT co., b., b., SUM(ISNULL(l., 0)) AS
FROM dbo._领料单明细 l
INNER JOIN dbo.PDM_零件明细表_基本件 b ON l. = b.
INNER JOIN co ON b. = co.
WHERE co. < '2026-01-01'
AND NOT (ISNULL(co., 0) = 6 AND ISNULL(co., 0) = 1)
GROUP BY co., b., b.
UNION ALL
SELECT co., s., s., SUM(ISNULL(l., 0)) AS
FROM dbo._领料单明细 l
INNER JOIN dbo.PDM_零件明细表_标准件和外购件 s ON l. = s.
INNER JOIN co ON s. = co.
WHERE co. < '2026-01-01'
AND NOT (ISNULL(co., 0) = 6 AND ISNULL(co., 0) = 1)
GROUP BY co., s., s.
UNION ALL
SELECT co., l., l., SUM(ISNULL(l., 0)) AS
FROM dbo._领料单明细 l
LEFT JOIN co ON l. = co.
WHERE l. IS NOT NULL
AND ISNULL(l., 0) <> 0
AND ISNULL(l., 0) = 0
AND ISNULL(l., 0) = 0
AND co. < '2026-01-01'
AND NOT (ISNULL(co., 0) = 6 AND ISNULL(co., 0) = 1)
GROUP BY co., l., l.
),
AS
(
SELECT , , , SUM() AS
FROM
GROUP BY , ,
),
AS
(
SELECT b., COUNT(*) AS
FROM dbo.PDM_零件明细表_基本件 b
LEFT JOIN dbo._零件工艺计划_视图 v ON b. = v.
WHERE ISNULL(v., 0) < 3
GROUP BY b.
),
AS
(
SELECT , COUNT(*) AS
FROM dbo._采购合同明细_查询视图
WHERE ISNULL(, N'') <> N'已入库'
GROUP BY
),
AS
(
SELECT FROM dbo.PDM_零件明细表_基本件
UNION
SELECT FROM dbo.PDM_零件明细表_标准件和外购件
UNION
SELECT FROM dbo._采购合同明细_查询视图
),
AS
(
SELECT e.
FROM e
LEFT JOIN b ON e. = b.
LEFT JOIN p ON e. = p.
WHERE ISNULL(b., 0) = 0
AND ISNULL(p., 0) = 0
),
AS
(
SELECT
d.,
CONVERT(varchar(10), d., 23) AS ,
d.,
d. AS ,
d.,
d.,
d.,
ISNULL(l., 0) AS ,
CASE WHEN d. > ISNULL(l., 0) THEN d. - ISNULL(l., 0) ELSE 0 END AS
FROM d
LEFT JOIN l
ON d. = l.
AND d. = l.
AND d. = l.
WHERE NOT EXISTS (SELECT 1 FROM c WHERE c. = d.)
)
SELECT , , , , , , SUM() AS , SUM() AS , SUM() AS
FROM
WHERE > 0
GROUP BY , , , , ,
ORDER BY DESC, , , ;