我有一张桌子
-id --col_1 -- col_2 -- col3 --col_4 -- col5
------------------------------------------------
1 a b c d e
2 a1 b1 c1 d1 e1
3 a2 b2 c2 d2 e2
我需要检查col3是否包含值,如果存在,我需要显示col1和col2值,其余值应为空。如果col4包含值的另一个条件,我需要只显示col2和col5值
-id --col_1 -- col_2 -- col3 --col_4 -- col5
------------------------------------------------
1 a b c
1 b1 d1 e1
2 a1 b1 c1
2 b1 d1 e1
3 a2 b2 c2
3 b2 d2 e2
我不知道要遵循哪个程序来达到我的要求。我已经使用了case语句,我只检索了一个只有一列
的两个条件的记录SELECT
CASE
WHEN col3 != '' THEN col4
END as a,
CASE
WHEN col4 != '' THEN col2
END as b
FROM table;
任何帮助!..
答案 0 :(得分:0)
如果我理解正确,您只需要union all
:
select id, col1, col2, col3, NULL as col4, NULL as col5
from table
union all
select id, NULL, col2, NULL, col4, NULL as col5
from table ;