这条语句在多表查询时很有用!
语句如下:
select * from (
select * from 表名
) allitem
order by id
如今天写的一个sql语句:
select
INVMC.MC001'品号',INVMB.MB002'品名',INVMB.MB004'单位',SUM(INVMC.MC004)'安全存量
',SUM(INVMC.MC007)'现有存量',SUM(INVMC.MC004)-SUM(INVMC.MC007)'需补货数量',TD008'
已下单数量'
FROM INVMB JOIN INVMC ON MB001=MC001
JOIN PURTD ON TD004=MC001
WHERE MC002<>'F000' AND MC002<>'H000' AND TD001='331'
GROUP BY MC001,MB002,MB004,TD008
HAVING SUM(INVMC.MC007)<SUM(INVMC.MC004)
union
select * from
(
select
INVMC.MC001'品号',INVMB.MB002'品名',INVMB.MB004'单位',SUM(INVMC.MC004)'安全存量
',SUM(INVMC.MC007)'现有存量',SUM(INVMC.MC004)-SUM(INVMC.MC007)'需补货数量
',INVMC.UDF51'已下单数量'
FROM INVMB JOIN INVMC ON MB001=MC001
WHERE MC002<>'F000' AND MC002<>'H000'
GROUP BY MC001,MB002,MB004,INVMC.UDF51
HAVING SUM(INVMC.MC007)<SUM(INVMC.MC004)
)allitem
where 品号 not in (
select 品号 from
(
select
INVMC.MC001'品号',INVMB.MB002'品名',INVMB.MB004'单位',SUM(INVMC.MC004)'安全存量
',SUM(INVMC.MC007)'现有存量',SUM(INVMC.MC004)-SUM(INVMC.MC007)'需补货数量',TD008'
已下单数量'
FROM INVMB JOIN INVMC ON MB001=MC001
JOIN PURTD ON TD004=MC001
WHERE MC002<>'F000' AND MC002<>'H000' AND TD001='331'
GROUP BY MC001,MB002,MB004,TD008
HAVING SUM(INVMC.MC007)<SUM(INVMC.MC004)
)allitem
)
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有