我有一个非常简单的问题,我希望得到帮助。
这是我的问题:
SELECT
prescription.PRE_ID AS `Prescription ID`,
redeemed_prescriptions.PRE_ID AS `Redeemed`
FROM prescription
LEFT JOIN redeemed_prescriptions ON prescription.PRE_ID = redeemed_prescriptions.PRE_ID;
结果如下:
Prescription ID | Redeemed
---------------------------
1 | 1
2 | NULL
3 | 3
4 | NULL
5 | NULL
如您所见,当匹配时(即处方已被兑换),匹配的号码会显示在行中,否则为NULL。
我的问题是我该如何制作它,以便在匹配时显示' True'当没有匹配时,它显示“False'在查询输出中。
提前感谢您提供任何帮助或建议。
答案 0 :(得分:0)
当匹配时使用case statement
显示True
,没有匹配时使用false
SELECT prescription.PRE_ID AS `Prescription ID`,
CASE
WHEN redeemed_prescriptions.PRE_ID IS NOT NULL THEN 'True'
ELSE 'False'
END AS Redeemed
FROM prescription
LEFT JOIN redeemed_prescriptions
ON prescription.PRE_ID = redeemed_prescriptions.PRE_ID