修复错误1241操作数应包含1列

68de4m5k  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(357)

我对mysql非常陌生,当我尝试我的查询时,它总是给出错误1241操作数应该包含1列
是什么导致了这个错误?
以下是我的查询块:

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
mrphzbgm

mrphzbgm1#

mysql不允许从子查询中获取多个列,在中使用 SELECT 条款。您可以将子查询改为 FROM part作为派生表,并连接到 customer_groups 相应的表格。
请改为使用以下命令:

SELECT g.id, 
       dt.count, 
       dt.total_sales
FROM customer_groups AS g 
JOIN 
(
  SELECT customernumber, 
         COUNT(*) as count, 
         SUM(sales) as total_sales 
  FROM transactions AS t1 
  GROUP BY customernumber
) AS dt 
  ON dt.customernumber BETWEEN g.from_customernumber AND 
                               g.to_customernumber

相关问题