【发布时间】:2015-05-14 11:32:16
【问题描述】:
我有一张桌子
-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;
任何帮助!..
【问题讨论】:
-
当 col4 不为空时,您的示例有 col2、col4 和 col5 - 请更正此条件(或示例)。还要澄清一下,我们说的是空字符串:有空值吗?也许还可以解释这个问题背后的背景 - 你需要以这种(非常尴尬)的方式存储+解决问题
-
在我的示例中,如果我需要为每个条件返回一行。对于第一条记录,如果 col3 包含一个值,我需要获取一条只有 col1 和 col2 剩余值的记录,我不应该显示。再次在第一条记录中,如果 col4 有一个值,我需要用其他列生成一个新记录
标签: mysql mysql-workbench