【发布时间】:2014-06-18 11:39:41
【问题描述】:
我有这个数据(例如):
编号 col1 col2 -------------------------------- 5614(空)是 5614 Y(空) 5614 Y(空)我想获得一行,它告诉我字段是否具有某些值Y。
如果没有值Y,那么它应该是N。
我的实际查询是这样做的,但我认为它应该是一种更短的方式:
SELECT op.id,
CASE WHEN (SUM(CASE WHEN col1 = 'S' THEN 1 ELSE 0 END)) > 0 THEN 'S' ELSE 'N' END AS col1,
CASE WHEN (SUM(CASE WHEN col2 = 'S' THEN 1 ELSE 0 END)) > 0 THEN 'S' ELSE 'N' END AS col2
FROM OPERATOR op LEFT JOIN TRAM_OP tr ON op.id = tr.id AND tr.id2 = 20
WHERE op.id = 5614 GROUP BY op.id
如您所见,我有两个表,我需要加入它们以匹配 id2 键。
【问题讨论】: