簡體   English   中英

Mysql ERROR 1241(21000):操作數應包含1列

[英]Mysql ERROR 1241 (21000): Operand should contain 1 column(s)

我有帶編號范圍的客戶組(從客戶編號到客戶編號)。

select g.id,
(select count(*), sum(sales)
FROM transactions t1 
where t1.customernumber between g.from_customernumber and g.to_customernumber)
from customer_groups g

選擇此項后,我收到此錯誤

ERROR 1241 (21000): Operand should contain 1 column(s)

我該怎么做才能解決這個問題? 我已經閱讀了一些有關此問題的線索,但我沒有找到解決方案。

最好的祝福!

MySQL期望子查詢中有一個列,即括號中的SELECT只能為單個列選擇SELECT。

在您的示例中,您可以使用兩個子查詢,一個返回計數,另一個返回總和,但您也可以重寫查詢:

SELECT g.id, COUNT(t1.customernumber), SUM(sales)
FROM
  customer_groups g LEFT JOIN transactions t1
  ON t1.customernumber between g.from_customernumber and g.to_customernumber

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM