Mysql 基于行本身选择结果
我有一个类似MySQL的表Mysql 基于行本身选择结果,mysql,sql,select,Mysql,Sql,Select,我有一个类似MySQL的表 id | ref | c1 | c2 | c3 --------------------------- 1 | 3 | x | y | z 2 | 2 | a | b | c 3 | 1 | p | q | r 4 | 3 | m | n | o 5 | 2 | j | k | l 我的问题是我如何根据列ref的值选择id和c1、c2或c3 也就是说, 对于ref=1将
id | ref | c1 | c2 | c3
---------------------------
1 | 3 | x | y | z
2 | 2 | a | b | c
3 | 1 | p | q | r
4 | 3 | m | n | o
5 | 2 | j | k | l
我的问题是我如何根据列ref
的值选择id
和c1
、c2
或c3
也就是说,
对于ref=1将选择c1的值,
对于ref=2将选择c2的值
和
对于ref=3,将选择c3的值
所需结果:
id | cX
-----------
1 | z
2 | b
3 | p
4 | o
5 | k
感谢您的帮助请使用案例
SELECT id,
CASE ref
WHEN 1 THEN
c1
WHEN 2 THEN
c2
WHEN 3 THEN
c3
END cx
FROM elbat;
使用案例
SELECT id,
CASE ref
WHEN 1 THEN
c1
WHEN 2 THEN
c2
WHEN 3 THEN
c3
END cx
FROM elbat;
使用时的用例
select id,case ref when 1 then c1
when 2 then c2
when 3 then c3
end as cx from table1
通用case函数/表达式
CASE expression
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END
使用时的用例
select id,case ref when 1 then c1
when 2 then c2
when 3 then c3
end as cx from table1
通用case函数/表达式
CASE expression
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END
提示:使用case
表达式。提示:使用case
表达式。通用表达式。它仍然不是case语句,而是case表达式!一般表达式。它仍然不是一个case语句,它是一个case表达式!