Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
Anyone who gets in between me and my morning coffee should be insecure.
edit
Je query zal dan iets als volgt worden:
1
2
3
4
5
6
7
8
| SELECT Tabel-1.Kolom1, Tabel-1.Kolom2, Tabel-1.Kolom3 FROM Tabel-1 LEFT JOIN Tabel-2 ON (Tabel-2.Tabel1_ID = Tabel-1.ID) LEFT JOIN Tabel-3 ON (Tabel-3.Tabel1_ID = Tabel-1.ID) |
Eventueel kun je dit nog uitbreiden met een GROUP BY, maar ik neem aan dat je daar verder wel zelf uit kan komen.
[ Voor 73% gewijzigd door skabouter op 16-04-2012 16:19 . Reden: Links bijgewerkt / code toegevoegd ]
[ Dislect ]
1
2
3
4
| SELECT Tabel-1.ID, Tabel-1Kolom1, etc FROM Tabel-1 WHERE EXISTS (SELECT 1 FROM Tabel-2 WHERE Tabel-2.Tabel1_ID = Tabel-1.ID) OR EXISTS (SELECT 1 FROM Tabel-3 WHERE Tabel-2.Tabel1_ID = Tabel-1.ID) |
De query van skabouter is verkeerd: hiermee krijg je alleen de records die in beide tabellen voor komen alle records of ze wel of niet in tabel-2 en tabel-3 voorkomen.
Je kan het wel voor elkaar krijgen met LEFT JOIN en een WHERE condition die controleert of de kolommen uit de join tabellen niet null zijn:
1
2
3
4
5
| SELECT DISTINCT Tabel-1.ID, Tabel-1.Kolom1, etc FROM Tabel-1 LEFT JOIN Tabel-2 ON Tabel-2.Tabel1_ID = Tabel-1.ID LEFT JOIN Tabel-3 ON Tabel-3.Tabel1_ID = Tabel-1.ID WHERE NOT (Tabel-2.Tabel1_ID IS NULL AND Tabel-3.Tabel1_ID IS NULL) |
Nadeel hiervan is wel dat je een DISTINCT moet doen om van dubbelen af te komen (dat probleem heb je niet bij mijn eerste query)
[ Voor 12% gewijzigd door Remus op 16-04-2012 16:24 . Reden: nav edit van skabouter bijgewerkt (die INNER JOIN verving door een LEFT JOIN in zijn antwoord) ]
Bedankt.
[ Voor 11% gewijzigd door Swerfer op 16-04-2012 16:32 ]
Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
Als je join op de juiste manier gebruikt dan zal het ook werken hoor.Swerfer schreef op maandag 16 april 2012 @ 16:31:
Met die JOIN was ik er al achter gekomen dat dat niet werkte. EXISTS had ik al geprobeerd, maar daar had ik een blijkbaar een syntaxfout mee gemaakt waardoor ik dacht dat dat niet ging. Zoals het voorbeeld van Remus werkt het wel.
Bedankt.