Postgresql 如何将第二个查询的输出与第一个查询的输出相加
我有两个不同的问题。我是否可以将第二个查询的输出(按列而不是按行)添加到第一个查询中?两者都有不同的列和不同的输出 在我的例子中,Union将不起作用,因为两个查询都给出不同数量的输出 例如—Postgresql 如何将第二个查询的输出与第一个查询的输出相加,postgresql,Postgresql,我有两个不同的问题。我是否可以将第二个查询的输出(按列而不是按行)添加到第一个查询中?两者都有不同的列和不同的输出 在我的例子中,Union将不起作用,因为两个查询都给出不同数量的输出 例如— Select count(BATCH), ID from tableA group by ID; Count(1), ID 2, 123 3, 234 Select Count(STATEMENT), ID from tableB group by ID; Count(1),
Select count(BATCH), ID from tableA group by ID;
Count(1), ID
2, 123
3, 234
Select Count(STATEMENT), ID from tableB group by ID;
Count(1), ID
4, 123
5, 234
我希望输出为
Count(1) Count (1) ID
2 3 123
3 4 234
您可以联接两个查询:
select table_a.count_a,
table_b.count_b,
table_a.id
from (
Select count(BATCH) as count_a,
ID
from tableA
group by ID
) as table_a
join (
Select Count(STATEMENT) as count_b, ID
from tableB
group by ID;
) as table_b on b.id = a.id;
请注意,如果一个查询返回的ID在另一个查询中不存在,则上述查询将排除这些行。如果出现这种情况,请使用完全联接
而不是联接
“两者都有不同的列和不同的输出。”-这是否意味着列ID在a和B中有不同的名称和值?