Hoe kan ik samenvoegen indien er 1 colom de waarde NULL bevat?

Status
Niet open voor verdere reacties.

RvHeck

Nieuwe gebruiker
Lid geworden
24 sep 2010
Berichten
4
Ik heb de volgende SQL:

SELECT r.*, cp.CP_nummer,
(cp.CP_roepnaam + ' ' + cp.CP_tussenvoegsel + ' ' + cp.CP_achternaam) AS NAAM
FROM Relatie r LEFT OUTER JOIN Contact_persoon cp
ON r.Relatienr = cp.Relatienr AND r.Rel_subnr = cp.Rel_subnr
WHERE r.Relatienr = '3'

Nu kan het voorkomen dat er geen tussenvoegsel is, deze heeft dan de waarde NULL in de database. Het probleem is dat wanneer tussenvoegsel de waarde NULL heeft NAAM niet wordt samengesteld.

Hoe kan ik ervoor zorgen dat de NAAM wel wordt samengesteld met een lege waarde voor tussenvoegsel indien deze in de database de waarde NULL heeft?

Alvast bedankt.

Het gaat hier overigens over MSQL2008.
 
Vermoedelijk heeft MSQL ook een functie in de trand van IS_NULL() zoals de meeste die hebben, hoewel het zou kunnen dat die anders heet.
Je kunt deze gebruiken om te controleren of het tussenvoegsel NULL is, en in dat geval tussenvoegsel veranderen door een lege string.
 
Zou je me kunnen vertellen hoe dat moet?

Het volgende werkt in iedergeval niet:

Code:
SELECT r.*, cp.CP_nummer,
			(cp.CP_roepnaam + ' ' + ISNULL(cp.CP_tussenvoegsel) + ' ' +  cp.CP_achternaam) AS NAAM
	FROM Relatie r LEFT OUTER JOIN Contact_persoon cp
	ON r.Relatienr = cp.Relatienr AND r.Rel_subnr = cp.Rel_subnr
	WHERE r.Relatienr = '3'
 
http://msdn.microsoft.com/en-us/library/ms184325.aspx

Waarschijnlijk zo:

[sql]
SELECT r.*, cp.CP_nummer,
(cp.CP_roepnaam + ' ' + ISNULL(cp.CP_tussenvoegsel, '' ) + ' ' + cp.CP_achternaam) AS NAAM
FROM Relatie r LEFT OUTER JOIN Contact_persoon cp
ON r.Relatienr = cp.Relatienr AND r.Rel_subnr = cp.Rel_subnr
WHERE r.Relatienr = '3'
[/sql]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan