我有这样的查询:当条件相同时如何将CASE语句一次用于多列?
SELECT (CASE WHEN subject = '' THEN $subject ELSE subject END) main_subject,
(CASE WHEN subject = '' THEN $id ELSE id END) main_id,
(CASE WHEN subject = '' THEN $related ELSE related END) main_related
FROM qanda
WHERE tag = :tag;
正如你看到的,条件是在所有条件下相同的。所以我想知道,我可以提高吗?我的意思是我可以在所有情况下只写一次CASE
?
你已经做对了。 –
为什么你想在结果中为表中的每一行添加'subject ='''''重复的行? –
@PaulSpiegel我没有任何重复的行。 – stack