如何修复 Ora-01427 单行子查询 returns 多于一行的错误?
How to fix Ora-01427 single-row subquery returns more than one row error?
我有这样的查询,它给了我单行子查询 returns 不止一行错误:
SELECT COUNT(PERSONNEL_ID)
FROM (SELECT DISTINCT * FROM CUSTOMERS)
WHERE CUSTOMER_ID = (SELECT CUSTOMER_ID FROM TRANSACTIONS)
它试图从客户 table 获取不同 PERSONNEL_ID 的计数,其中 CUSTOMER_ID 在客户 table 和 CUSTOMER_ID 在交易 table相等
你能告诉我如何解决我的查询吗?
您在 transactions
中有不止一位客户。据推测,您打算:
WHERE CUSTOMER_ID IN (SELECT CUSTOMER_ID FROM TRANSACTIONS)
您也可以将其表述为:
WHERE CUSTOMER_ID = ANY (SELECT CUSTOMER_ID FROM TRANSACTIONS)
我有这样的查询,它给了我单行子查询 returns 不止一行错误:
SELECT COUNT(PERSONNEL_ID)
FROM (SELECT DISTINCT * FROM CUSTOMERS)
WHERE CUSTOMER_ID = (SELECT CUSTOMER_ID FROM TRANSACTIONS)
它试图从客户 table 获取不同 PERSONNEL_ID 的计数,其中 CUSTOMER_ID 在客户 table 和 CUSTOMER_ID 在交易 table相等
你能告诉我如何解决我的查询吗?
您在 transactions
中有不止一位客户。据推测,您打算:
WHERE CUSTOMER_ID IN (SELECT CUSTOMER_ID FROM TRANSACTIONS)
您也可以将其表述为:
WHERE CUSTOMER_ID = ANY (SELECT CUSTOMER_ID FROM TRANSACTIONS)