sql如何查询以下需求

比如数据表结构是

idabtarget
1a1b1a1
2a2b2b2
3a3b3b3
4a4b4b8
5a5b5a5

如果target列和a列相等就返回b列,如果target列和b列相等就返回a列结果,不相等就不返回,列的数据结构都是字符串
期望的查询结果是 b1, a2, a3,b5
求大神指导!能不能有优雅一点的写法

阅读 2.1k
2 个回答

select if(target = a, b, a) as 字段名 from table where target = a or target = b;

select t.b
  from table t
 where t.a = t.target
union
select t.a
  from table t
 where t.b = t.target
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏