У меня есть запрос, как следующее:Вычесть из предыдущей записи - Вложенный SQL-запроса
select ISNULL(sum(fonhand),0.00) as 'Supply', 0 as 'Demand'
from invoice where ptno = @ptno
union
select distinct a.quantity as 'Supply', 0 as 'Demand'
from jbMstr a join jbDetails b on a.fjobno = b.fjobno
where a.ptno = @ptno AND a.status = 'RELEASED' AND fbmsource = 'S'
union
select 0 as 'Supply', ftotqty as 'Demand'
from jbDetails a join jbMstr b on a.fjobno = b.fjobno
where fbompart = @ptno and fstatus = 'RELEASED' AND fbmsource = 'S'
Выход, как следующее:
Supply Demand Avail
-4.00000 0.0000000000 -4
0.00000 1.0000000000 -5
0.00000 1.0000000000 -6
0.00000 4.0000000000 -10
0.00000 -1.0000000000 -9
Здесь я хочу, чтобы получить новый столбец «Свободно», и он должен вычесть из столбца «Спрос» в каждой строке. Как это реализовать?
Может ли кто-нибудь помочь мне сделать это? Спасибо заранее ...
Тег используемого dbms. (ISNULL() является функцией, специфичной для продукта.) – jarlh
Не нужно делать SELECT DISTINCT, поскольку UNION удаляет все дубликаты. – jarlh