Sql 对包含聚合或子查询的表达式执行聚合函数时出现问题

Sql 对包含聚合或子查询的表达式执行聚合函数时出现问题,sql,Sql,错误: 无法对包含 聚合或子查询 运行此命令时,我遇到上述错误。我不确定我是否应该以不同的方式加入这些表,但我需要这样才能工作 试试看 select A.ACCT as acct, COUNT(TRANS_key) as payments from DEBT A join TRANS B on B.DEBT_KEY = A.DEBT_KEY join TRANS_CODE C on C.TRANS_CODE = B.TRANS_CODE join

错误:

无法对包含 聚合或子查询

运行此命令时,我遇到上述错误。我不确定我是否应该以不同的方式加入这些表,但我需要这样才能工作

试试看

select 
    A.ACCT as acct, COUNT(TRANS_key) as payments
from 
    DEBT A 
join 
    TRANS B on B.DEBT_KEY = A.DEBT_KEY
join 
    TRANS_CODE C on C.TRANS_CODE = B.TRANS_CODE
join 
    CLIENT D on D.CLIENT_KEY = A.CLIENT_KEY
join 
    STATUS S on S.STAT_KEY = A. STAT_KEY
where 
    S.CATEGORY = 'A' and D.CLIENT_KEY = 43

不能使用像
count
这样只返回1个结果的聚合函数和返回多个结果的选择函数。如果要计算每个
a.acct的计数,请执行上述操作。

所有其他选择都必须分组。用这个

select A.ACCT as acct, COUNT(TRANS_key) as payments
from DEBT A 
join TRANS B on B.DEBT_KEY = A.DEBT_KEY
join TRANS_CODE C on C.TRANS_CODE = B.TRANS_CODE
join CLIENT D on D.CLIENT_KEY = A.CLIENT_KEY
join STATUS S on S.STAT_KEY = A. STAT_KEY
where S.CATEGORY = 'A' and D.CLIENT_KEY = 43
group by A.ACCT 

TRANS\u KEY
定义在哪个表上?我的猜测是,你可能甚至不需要所有这些加入…哇,我相信我这样做了,它没有工作的前300次,谢谢你哈哈。
    select A.ACCT as acct, COUNT(TRANS_key) as payments

from DEBT A join TRANS B on B.DEBT_KEY = A.DEBT_KEY

join TRANS_CODE C on C.TRANS_CODE = B.TRANS_CODE

join CLIENT D on D.CLIENT_KEY = A.CLIENT_KEY

join STATUS S on S.STAT_KEY = A. STAT_KEY

where S.CATEGORY = 'A' and D.CLIENT_KEY = 43
GROUP BY A.ACCT