从sql IF中选择一个字段,否则选择另一个

时间:2014-03-24 22:15:53

标签: mysql sql

我在一个表中有3个字段,专门用于构建id之间的关系。这意味着,例如,这3个字段中的一个是 first_id ,另一个是 second_id ,第三个字段是 the_third_one the_third_one AND first_id AND second_id 的每个组合都是 “UNIQUE”

我想要做的是选择first_id IF 一些 other_id 等于second_id,或者选择second_id < em> IF 某些 other_id 等于first_id。

所以基本上,我的表格结构就像这样

first_id second_id the_third_one

2323 242 idrelatedstring

239 231 anotherone

等等。

我的 other_id 2323 。所以我想要的是检索 second_id和the_third_one

我的 other_id 231 。所以我想要的是检索 first_id和the_third_one

我该如何继续查询数据库?

2 个答案:

答案 0 :(得分:0)

尝试case when then

示例

select
  third_id,
  case when other_id = second_id then first_id 
       when other_id = first_id  then second_id
  end as id
from my_table
where ....

答案 1 :(得分:0)

select '2nd, 3rd' as which, second_id as val1, the_third_one as val2
  from tbl
 where first_id = '2323'
union all
select '1st, 3rd' as which, first_id, the_third_one
  from tbl
 where second_id = '2323'

如果您有意,请用提示替换文字(2323)。