使用mysql在条件上选择列

时间:2011-04-07 09:15:25

标签: mysql

我的数据库中有两个表,

Table A
a_id,email,col2,col3

Table B
b_id,email

我想要做的是制定一个可以选择每个布尔值的列名的查询。

我的意思是我有一组a_id,我想从表A中获取数据,

对于特定的a_id,如果表B中存在电子邮件,则获取col2,否则获取col 3

我想制定类似下面的查询,但要以有效的方式:)

select 
if (email exists table B)  
col 2, 
else 
col 3 
as title
from Table A 
where a_ids in (1,2,3,4,5,6,7)

1 个答案:

答案 0 :(得分:1)

试试这个 -

SELECT a.a_id, IF(b_id IS NULL, col3, col2) FROM tablea a
  LEFT JOIN tableb b ON a.a_id = b.b_id
WHERE a.a_id IN (1,2,3,4,5,6,7);