Ik wil resultaten uit 2 tabellen samenvoegen, namelijk _alle_ resultaten uit tabel 1, en een SUM() van resultaten uit tabel 2 die matchen met een veld uit tabel 1 waarbij de resultaten in tabel 2 ook aan voorwaarden moeten voldoen. Volgens mij zou dat zo moeten werken:
Het probleem met bovenstaande query is dat rijen uit tabel1 die geen match hebben in tabel2 niet weergegeven worden. Terwijl LEFT OUTER JOIN volgens mij er juist voor moet zorgen dat ongeacht de matches in tabel2, de rijen uit tabel1 sowieso weergeven worden?
code:
1
| SELECT SUM(aantal) FROM tabel1 LEFT OUTER JOIN tabel2 ON tabel2.ref = tabel1.id WHERE tabel2.jaar = '2007' GROUP BY tabel1.id |
Het probleem met bovenstaande query is dat rijen uit tabel1 die geen match hebben in tabel2 niet weergegeven worden. Terwijl LEFT OUTER JOIN volgens mij er juist voor moet zorgen dat ongeacht de matches in tabel2, de rijen uit tabel1 sowieso weergeven worden?
edit:
Problem solved, juiste query:
SELECT SUM(aantal) FROM tabel1 LEFT OUTER JOIN tabel2 ON tabel2.ref = tabel1.id AND tabel2.jaar = '2007' GROUP BY tabel1.id
Problem solved, juiste query:
SELECT SUM(aantal) FROM tabel1 LEFT OUTER JOIN tabel2 ON tabel2.ref = tabel1.id AND tabel2.jaar = '2007' GROUP BY tabel1.id
[ Voor 11% gewijzigd door Verwijderd op 23-07-2007 15:03 ]