我需要一些帮助,我有3张桌子
http://i.stack.imgur.com/TB3MX.jpg
我的代码:
select nazev_produkt,
SUM(mnozstvi_objednavka_dod)'bylo na sklade'
from Produkty p join Objednavky_dodavatele od on
p.id_produkt=od.id_produkt
where stavzbozi_objednavka_dod=('na skladě')
group by nazev_produkt
select nazev_produkt,SUM(mnozstvi_objednavka_zak)koupili
from Objednavky_zakaznici oz join Produkty p
on oz.id_produkt=p.id_produkt
where stav_objednavka_zak=('dodané')
group by nazev_produkt
我想从这两个选中创建选择代码,包括nazev_produkt,'bylo na sklade - koupili'和nazev_produkt小组
基本上 bylo na sklade =有货
koupili =购买。
我需要扣除所购买的 - 有货并显示nazev_produkt(产品名称),na sklade(有货)
非常感谢帮助!
答案 0 :(得分:0)
添加第三列,列出您的来源。
试试这个:
select nazev_produkt,
isnull(
(select SUM(mnozstvi_objednavka_dod)
from Objednavky_dodavatele od
where p.id_produkt=od.id_produkt),
0) -
isnull(
(select SUM(mnozstvi_objednavka_zak)
from Objednavky_zakaznici oz
where oz.id_produkt=p.id_produkt),
0)
from Produkty p
where stavzbozi_objednavka_dod=('na sklade')
or stav_objednavka_zak=('dodané')
答案 1 :(得分:0)
我无法阅读你的语言,所以在这里做一些猜测...... :-)我认为,加入的表格在任何情况下都会回答你的问题。
select
p.product_name,
--isnull(i.quantity,0) as was_in_stock,
--isnull(s.quantity,0) as sold,
isnull(i.quantity,0) - isnull(s.quantity,0) as [currently_in_stock]
from
products p
LEFT JOIN (select product_id, sum(quantity) as quantity from inventory group by product_id) i
ON p.product_id = i.product_id
LEFT JOIN (select product_id, sum(quantity) as quantity from sales group by product_id) s
ON p.product_id = s.product_id
group by
product_name