gpt4 book ai didi

mysql - 子查询返回 "single-row subquery returning more than one row"的 SQL 查询?

转载 作者:可可西里 更新时间:2023-11-01 08:02:35 30 4
gpt4 key购买 nike

这是我的查询:

SELECT TRANS_MSTR.branch_id
FROM TRANS_MSTR, BRANCH_MSTR
WHERE BRANCH_MSTR.branch_type_desc = 'ATM ONLY'
And ( SELECT SUM(TRANS_MSTR.trans_amount)
FROM TRANS_MSTR
WHERE TRANS_MSTR.trans_yyyymm = '201511'
GROUP BY TRANS_MSTR.branch_id) < 100;

"ORA-01427: single-row subquery returns more than one row"

是我得到的错误。我真的不知道那是什么意思?我的查询总体目标是返回分支 ID 和总和,其中总和小于 100。

当我尝试这样修复它时:

     SELECT TRANS_MSTR.branch_id, 
(SELECT SUM(TRANS_MSTR.trans_amount)
FROM TRANS_MSTR
WHERE TRANS_MSTR.trans_yyyymm = '201511'
GROUP BY TRANS_MSTR.branch_id) as TransAmt
FROM TRANS_MSTR, BRANCH_MSTR
WHERE BRANCH_MSTR.branch_type_desc = 'ATM ONLY'
And TransAmt < 100;

它告诉我 TRANSAMT 是一个无效的标识符。但我认为您可以为子查询设置别名?

最佳答案

请试试这个:

    SELECT BRANCH_MSTR.branch_id,  SUM(TRANS_MSTR.trans_amount) 
AS TransAmt FROM BRANCH_MSTR b
INNER JOIN BRANCH_MSTR
ON TRANS_MSTR.branch_id = BRANCH_MSTR.branch_id
WHERE BRANCH_MSTR.branch_type_desc = 'ATM ONLY'
AND TRANS_MSTR.trans_amount < 100
AND TRANS_MSTR.trans_yyyymm = '201511'
GROUP BY TRANS_MSTR.branch_id;

关于mysql - 子查询返回 "single-row subquery returning more than one row"的 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49256462/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com