Я пытаюсь получить сумму столбца, если их ISBN тот же, а shipdate - null. Shipdate находится в другой таблице, поэтому кажется, что часть «и shipdate is null» не проверяется должным образом, на самом деле все они считаются не нулевыми, что неверно.Получите сумму с двумя таблицами?
select oh.OrderNo, shipdate, qty, ISBN,
need = (select sum(qty)
from OrderDetail
where od.ISBN = ISBN and shipdate is null)
from orderheader oh
join orderdetail od on oh.OrderNo=od.OrderNo
where shipdate is null
Я попробовал другой метод
need = (select sum(case when shipdate is null then qty else 0 end)
from OrderHeader where shipdate is null and od.ISBN = ISBN),
, но она имеет внешнюю ссылку, поэтому он не будет работать. Любая помощь приветствуется.
Edit: Образец
OrderNo shipdate qty ISBN need
7 NULL 1 0030615372 1
7 NULL 1 0345350499 11
9 NULL 1 0345350499 11
10 NULL 4 0345350499 11
10 NULL 2 0395851580 8
10 NULL 3 0395851580 8
7 NULL 1 0439136350 9
7 NULL 1 0887251714 1
потребность является неправильным, это в том числе shipdates, которые не являются нуль (которые не показаны), а также. потребность должна быть: 1, по существу сумма Qty для где ISBN такой же
Не могли бы вы отобразить образец данных? Ваш вопрос немного запутан. –
@OP, смогли ли вы решить эту проблему? – AdamMc331