Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sql upit spajanje tri tabele

[es] :: MS SQL :: Sql upit spajanje tri tabele

[ Pregleda: 2789 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

favory
sef aop-a

Član broj: 191622
Poruke: 11
*.adsl.eunet.rs.



Profil

icon Sql upit spajanje tri tabele23.06.2010. u 11:50 - pre 167 meseci
Imam tri tabele:
fakture
-----------
faktura_Id

stavke
------------------
Faktura_Id Iznos

uplate
---------------------
Faktura_Id IznUplate

Tabela koju zelim da dobijem:

izvestaj
-------------------------------------------
faktura_Id IznosFakture UkupneUplate


Upit:

SELECT Fakture.Faktura_Id,;
SUM(Stavke.Iznos) AS IznosFakture,;
SUM(Uplate.IznUplate) AS UkupneUplate;
FROM Fakture LEFT JOIN Stavke ON Fakture.Faktura_Id=Stavke.Faktura_Id;
LEFT JOIN Uplate ON Fakture.Faktura_Id=Uplate .Faktura_Id;
GROUP BY Fakture .Faktura_Id


Suma uplata po fakturi nije ok! Uvecana je onoliko puta koliko ima stavki u tabeli STAVKE za jednu fakturu!
Očito upit nije u redu!?
 
Odgovor na temu

sparc
Sladjan Parc

Član broj: 65760
Poruke: 134
*.static.isp.telekom.rs.



Profil

icon Re: Sql upit spajanje tri tabele23.06.2010. u 12:14 - pre 167 meseci
Ocigledno,
napravio si dekartov proizvod skupova,
prvim joinom dobio si onoliko redova koliko imas satvki faktura,
a onda si drugim joinom multiplicirao sa svaki red stavki redove uplata.

Probaj:
SELECT Fakture.Faktura_Id,
SUM(Stavke.Iznos) AS IznosFakture,
(SELECT SUM(Uplate.IznUplate) FROM uplate WHERE Fakture.Faktura_id = Uplate.Faktura_ID) AS UkupneUplate
FROM Fakture LEFT JOIN Stavke ON Fakture.Faktura_Id=Stavke.Faktura_Id
GROUP BY Fakture .Faktura_Id

ili
SELECT Fakture.Faktura_Id,
(SELECT SUM(Stavke.Iznos) FROM Stavke WHERE fakture.Faktura_id = Stavke.Faktura_id) AS IznosFakture,
(SELECT SUM(Uplate.IznUplate) FROM uplate WHERE Fakture.Faktura_id = Uplate.Faktura_ID) AS UkupneUplate
FROM Fakture
 
Odgovor na temu

favory
sef aop-a

Član broj: 191622
Poruke: 11
*.adsl.eunet.rs.



Profil

icon Re: Sql upit spajanje tri tabele23.06.2010. u 13:56 - pre 167 meseci
Radi!

Pozdrav..
 
Odgovor na temu

[es] :: MS SQL :: Sql upit spajanje tri tabele

[ Pregleda: 2789 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.