【发布时间】:2015-08-28 15:05:06
【问题描述】:
我正在尝试创建一个 SQL Select,它将查找表 #Parts 中的所有行,其中 #Parts.on_order 列中的值与实际的订购数量不匹配。这是示例。三个表:Parts、Orders 和 Receives。
IF OBJECT_ID(N'tempdb..#Parts') IS NOT NULL
BEGIN
DROP TABLE #Parts
END
IF OBJECT_ID(N'tempdb..#orders') IS NOT NULL
BEGIN
DROP TABLE #orders
END
IF OBJECT_ID(N'tempdb..#received') IS NOT NULL
BEGIN
DROP TABLE #received
END
create table #Parts (part_no char(25), part_pk int, on_order decimal(12,2))
insert into #Parts (part_no, part_pk, on_order) values ('ABC1', 1, 19)
insert into #Parts (part_no, part_pk, on_order) values ('ABC2', 2, 2)
insert into #Parts (part_no, part_pk, on_order) values ('ABC3', 3, 0)
create table #orders (po_order_no int, part_no char(25), part_pk int, qty_ordered decimal(12,2))
insert into #orders (po_order_no, part_no, part_pk, qty_ordered) values (1, 'ABC2', 2, 10)
insert into #orders (po_order_no, part_no, part_pk, qty_ordered) values (2, 'ABC2', 2, 1)
insert into #orders (po_order_no, part_no, part_pk, qty_ordered) values
(3, 'ABC2', 2, 4 )
insert into #orders (po_order_no, part_no, part_pk, qty_ordered) values (4, 'ABC1', 1, 20)
insert into #orders (po_order_no, part_no, part_pk, qty_ordered) values (5, 'ABC1', 1, 6)
insert into #orders (po_order_no, part_no, part_pk, qty_ordered) values (6, 'ABC3', 3, 7)
create table #received (po_order_no int, qty_received decimal(12,2))
insert into #received (po_order_no, qty_received) values (2, 1)
insert into #received (po_order_no, qty_received) values (3, 2)
insert into #received (po_order_no, qty_received) values (4, 3)
insert into #received (po_order_no, qty_received) values (4, 2)
insert into #received (po_order_no, qty_received) values (5, 2)
insert into #received (po_order_no, qty_received) values (6, 7)
我厌倦了以下 SQL Select 但它甚至在 ORDERED 列中给了我一个错误的值:
select
MAX(#Parts.part_no), SUM(#received.qty_received) as RECEIVED,
SUM(#orders.qty_ordered) as ORDERED
from
#received
join
#orders on #orders.po_order_no = #received.po_order_no
join
#Parts on #Parts.part_pk = #orders.part_pk
group by
#Parts.part_pk, #orders.po_order_no
我错过了什么?
【问题讨论】:
标签: sql sql-server