MySQL在连接表上选择带有CASE的列

时间:2016-01-25 17:57:19

标签: mysql select join case

我试图根据列中的信息使用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出现。

0 个答案:

没有答案