我试图根据列中的信息使用CASE语句。
如果列artiesten.artiestennaam
不是NULL,我希望选择此列。但如果此列为空,我想选择另一个已加入的列:personen.naam
这样的事情是否可能?如果选择了列personen.naam
,它也会很好,但如果artiesten.artiestennaam
不是NULL,则为空。
我确实想到了如下所示的内容。
SELECT
groeperingen.groeperingsnaam, nummers.naam,
CASE WHEN artiesten.artiestennaam IS NOT NULL
THEN artiesten.artiestennaam
ELSE personen.naam
FROM artiesten_nummers
JOIN artiesten ON artiesten_nummers.artiestenID = artiesten.ID
LEFT JOIN personen ON personen.ID = artiesten.personenID
JOIN nummers ON artiesten_nummers.nummersID = nummers.ID
LEFT JOIN groeperingen ON groeperingen.ID = nummers.groeperingenID
要明确:如果列artiestennaam
已填写,我希望列naam
为空或未选中。反之亦然:如果artiestennaam
为空,我希望naam
出现。