Postgresql 如何将第二个查询的输出与第一个查询的输出相加

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),

我有两个不同的问题。我是否可以将第二个查询的输出(按列而不是按行)添加到第一个查询中?两者都有不同的列和不同的输出

在我的例子中,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),  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中有不同的名称和值?