Ich habe 3 Tabellen
Tbcodetable
SQL 3 schließt sich mit einer Gruppe von und Summenfunktion
codevalue | codename | desc1 | desc2
1 | SATO | NAG | Naga
2 | SATO | BAG | Baguio
3 | SATO | NCR | Head Office
Tbmember
employeeno | capcon_accountno | savings_accountno | sato
1 | 00101 | 00201 | NCR
2 | 00102 | 00202 | BAG
Tbdeposit
employeeno | account_no | accountbalance
1 | 00101 | 1000
1 | 00201 | 5000
2 | 00102 | 1000
2 | 00202 | 5000
Was ich abfragen möchten ist die Summe der Kappe ital und Einsparungen pro Sato in einer Abfrage
codename | codevalue | desc1 | desc2 | capcon | savings
SATO |3 |Head Office |NCR |1000 | 5000
SATO |2 |Baguio |BAG |1000 | 5000
SATO |1 |Naga |NAG |0 | 0
Die beste Abfrage, die ich tun könnte, ist
SELECT codename,codevalue,desc1,desc2,sum(b.accountbalance) as capcon
FROM TBCODETABLE c
left join TBMEMBER a on c.desc2 = a.SatoCode
join tbdeposit b on a.employeeno = b.employeeno
where a.SLAStatus = 'A' and c.codename ='sato'
group by codename, codevalue, desc1, desc2
, die mir dieses Ergebnis
codename | codevalue | desc1 | desc2 | capcon
SATO |1 |Head Office |NCR |1000
SATO |2 |Baguio |BAG |1000
Dieses nur gibt mir die Summe des Kapitals gibt (Ich verloren, auf, wie schließen Sie sowohl Einsparungen als auch Kapital auf dem Ergebnis ein.) Und es schließt die Naga-Region nicht ein
Ich konnte tbmember und tbdeposit von employeeno beitreten, aber dann weiß ich nicht, wie Summe von Kapital und Einsparungen im Ergebnis trennen gesetzt
bearbeiten
ich die Abfrage bearbeitet und jetzt Im der Lage, beide dank Abfrage zu syed aber ich kann immer noch nicht den NAG-Sato-Code bekommen. Abfrage:
SELECT codename,codevalue,desc1,desc2, coalesce(sum(b.accountbalance),0) as savings, coalesce(sum(bb.accountbalance),0) as capcon FROM TBCODETABLE c left join TBMEMBER a on c.desc2 = a.SatoCode join tbdeposit b on a.SAVINGS_AccountNo = b.AccountNo
inner join tbdeposit bb on a.CAPCON_Accountno = bb.AccountNo where a.SLAStatus = 'A'
group by codename, codevalue, desc1, desc2
ich in der Lage bin, das erwartete Ergebnis zu erhalten Danke Jungs chris LEFT JOIN Rat meines NAG SATO Problem obwohl Syed Antwort half mir große Zeit gelöst.
ich nicht, wie eine Antwort auf upvote so i chris upvote nur werde
Meine letzte Abfrage ist (hier erstmals.):
SELECT codename,codevalue,desc1,desc2, coalesce(sum(b.accountbalance),0) as savings, coalesce(sum(bb.accountbalance),0) as capcon FROM TBCODETABLE c left join TBMEMBER a on c.desc2 = a.SatoCode left join tbdeposit b on a.SAVINGS_AccountNo = b.AccountNo
left join tbdeposit bb on a.CAPCON_Accountno = bb.AccountNo where a.SLAStatus = 'A' or codename = 'sato'
group by codename, codevalue, desc1, desc2
In 'Tbcodetable' Sie * haben' codevalue' 1 ist Naga * und * 'codevalue' 3 ist Head Office *, aber in der resultierenden Tabelle ist es umgekehrt. – PetSerAl
Und, BTW, warum brauchen Sie hier Gruppierung? IMHO, du musst nur 'Tbdeposit' zweimal beitreten. [Link] (http://sqlfiddle.com/#!9/6a7613/8) – PetSerAl
Ja, ich habe gerade festgestellt, dass ich nur noch 1 weitere Join brauchte, wie der Link @SyedMZulqarnain sagte. Obwohl es immer noch nicht die NAG Sato im Ergebnis –