Hallo, ik ben nieuw hier. Ik heb een vraag over joins en het vertalen van nulls.
Ik heb een SQL statement die relatief gezien eenvoudig is. Maar ik krijg het niet goed voor elkaar.
Het gaat erom dat ik op zoek ben naar een SQL statement volgens deze informatie.
De klant is gebaseerd op een match tussen conracten van tabel A en tabel B. Als er een match is, dan wordt de klant uit tabel A gepakt. Als er geen contract is in tabel B, dan wordt het 00000. Maar als de klant in A geen contract heeft, dan moet het 99999 worden.
SELECT
A.KLANT
FROM TABEL A
LEFT OUTER JOIN TABEL B
ON A.ORDER = B.ORDER
Dat is een normale left outer join statement.
Maar als er geen match is, dus A.KLANT gaat null worden. Dan moet dit 00000 worden.
Los ik zo op
SELECT
COALESCE(A.KLANT, '00000') AS KLANT
FROM TABEL A
LEFT OUTER JOIN TABEL B
ON A.ORDER = B.ORDER
Maar als deze klant in tabel A geen contract heeft, dan moet het 99999 worden.
Hoe los ik zoiets op?
Wim
2.600 views