我正在尝试一个子查询,其中我获取具有不同所有者的所有重复帐户。但我在第 4 行遇到错误,我不知道我能做什么或你推荐什么方法。例如,此表显示了结果应如何显示。
账户 | 业主 |
---|---|
204060 | 乌戈·托雷兹 |
204060 | 路易斯·弗洛雷斯 |
32565963 | 埃里克·里拉 |
32565963 | 诺伊·普列托 |
SELECT issuing_account, COUNT(1)
FROM TBL_TXN
WHERE 1 = 1 group by issuing_account
HAVING COUNT(1) > 1
(SELECT DISTINCT OWNERS
FROM TBL_TXN
WHERE TRANSACTION_TYPE='B');
如果您发布一些示例数据(以及所需的结果),那就更好了,因为 - 没有这些 - 我们只能尝试猜测您拥有什么。
这是我的猜测:如果每个发行帐户可以有多个所有者,则聚合他们(使用
listagg
函数)。
你写的子查询放错地方了;我认为它应该是一个数据源(内联视图,在本例中 - 也可能是一个 CTE)。
类似这样的:
select issuing_account,
listagg(owners, ', ') within group (order by null) owners,
count(*)
from (select distinct owners, issuing_accounts
from tbl_txn
where transaction_type = 'B'
)
group by issuing_account
having count(*) > 1