在同一张表上的单个选择语句中组合结果集mysql

时间:2018-11-29 09:24:54

标签: mysql

我有一个名为bills的表,该表具有类似bill_id, company_id,transaction_id的列。 我运行两个查询:

"Select bill_id from bills where cmp_id = 1 ";
"Select bill_id from bills where cmp_id = 2"; 

两个查询分别返回预期结果。 我需要在一个选择查询中输出两个查询的两列。 我尝试使用UNION / UNION ALL,但得到重复的结果或仅获得单列结果

(select bill_id from bills where cmp_id =1 ) as cmp1Bills
union
(select bill_id from bills where cmp_id =2)as cmp2Bills order by bill_id;

所需的输出:

cmp1Bills    cmp2Bills
1              10
2              11
3              12

1 个答案:

答案 0 :(得分:3)

使用IN来包含一组可以与要包含的行的列匹配的值

Select bill_id 
from bills 
where cmp_id IN (1, 2)
order by bill_id