我在一个表中有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 。
我该如何继续查询数据库?
答案 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)。