Wpis z mikrobloga

#sql #bazydanych #mssql

Nakieruje mnie ktoś jak to zrobić?

Są 3 tabele zamówienia(zamówinie wewnetrzne,zamówienie zakpuu) i elemnty z której wyciagam elemnty zmówień Nastepnie tabela zwiazane gdzie są oba zamowienia połaczone.Musze porównać sume elementów i rozróźnić 3 przypadki =,!=,brak połączenia

Nie wiem jak to joinować żeby był efekt

A B Wynik
2 2 tak
12 10 nie
brak brak brak

select SUM(e.iloscA),Sum(ezu.iloscB) from t.Zamowienia z
inner join t.elemnty e on e.id=z.id
inner join t.zwiazane zu on zu.id=z.id
inner join t.elemnty ezu on ezu.id=zu.id
  • 5
@smalczyk1:
select SUM(e.iloscA),Sum(ezu.iloscB) from t.Zamowienia z
inner join t.elemnty e on e.id=z.id
left join t.zwiazane zu on zu.id=z.id --tylko nie wiem czy to połączenie po id będzie poprawne, może masz w związanych klucz obcy do zamówień
inner join t.elemnty ezu on ezu.id=zu.id
@madspirit: Nie ma klucza obcego są tak związane.Dzięki temu wiem który zakup porównać z zam wewnętrznym

260 to numer zamówienia zakupu
194 to numer zam wewnętrznego

Czyli to left join t.zwiazane zu on zu.id=z.id to
jest wyciągam 194 z zamówienia i szukam tam na związanych gdzie też 194

Na razie próbuje uzyska poprawne sumy dla jednego zamówienia ale jakieś głupoty wychodzą
smalczyk1 - @madspirit: Nie ma klucza obcego są tak związane.Dzięki temu wiem który z...

źródło: comment_VhcSIsH4x3lGD839L6GwuZnC6ZBvKdkV.jpg

Pobierz