使用不同的列合并PostgreSQL查询

时间:2017-06-02 16:34:36

标签: sql postgresql

我有4个不同的select语句,每个语句都返回一个列。每个选择返回不同的列名称。例如,第一个选择是'TotalPeople',第二个选择是'Complete'。

我不是返回两个结果集,每个结果集都有一行,我宁愿返回一个结果集,其中我的列数与选择语句一样多。

这可能吗?

所以我想说这是我的两个问题:

SELECT count(people) FROM someTable WHERE ...
SELECT count(complete) FROM someOtherTable WHERE ...

我会找回两个结果集,例如:

| people |  
|--------|  
| 123    |  

| complete |  
|----------|  
| 15       |  

相反,我想回来

| people | complete |  
|--------|----------|  
| 123    | 15       |  

2 个答案:

答案 0 :(得分:1)

可能有更好的方法来做你想要的。但是,您可以在selectfrom中合并查询。例如:

select q1.TotalPeople, q2.Complete
from (<q1>) q1 cross join
     (<q2>) q2;

答案 1 :(得分:1)

select count(table_people.id) AS PEOPLE, 
(select count(table_number.id) 
from table_number) AS NUMBER
from table_people;

您可以在此处使用子查询将两个查询组合在一起。 希望它有所帮助。