Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有以下表结构(表名是问题)
c1 c2 c3 Selection X Y Z 2 A B C 3
这里 c1,c2,c3 和 Selection 是列名。我想根据列选择的值检索 c1 或 c2 或 c3 的值。例如。如果选择值是 2,那么我想要 c2 列的相应值,即 Y。如果选择值是 3,那么它应该选择 c3 列的值,这里是 C。
请帮助我在这里形成 Select Sql 查询。我尝试了自己,但无法找到正确的解决方案。
提前致谢
您必须使用CASE或IF
select if(selection=2 ,b,if(selection=3,c,a)) from Table1 ;
例如,请参见此处...链接
SELECT CASE Selection WHEN 1 THEN c1 WHEN 2 THEN c2 ELSE c3 END val FROM tableName
这非常简单,只需运行一个简单的查询,它将返回所有列,然后您应该使用适当的列。
SELECT * FROM mytable WHERE selection = 'yourvalue'