如何将SQL查询的结果显示为自定义值?

时间:2015-02-01 16:34:25

标签: mysql sql

我有一个非常简单的问题,我希望得到帮助。

这是我的问题:

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'在查询输出中。

提前感谢您提供任何帮助或建议。

1 个答案:

答案 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