gpt4 book ai didi

mysql - SQL错误: Operand should contain 1 column

转载 作者:行者123 更新时间:2023-11-30 00:02:25 27 4
gpt4 key购买 nike

在我正在创建的系统上工作时,我尝试在我的项目中使用以下查询:

SELECT WEEKLY_TOTALS.DOMAIN, WEEKLY_TOTALS.CATEGORY, DAY
FROM(
(SELECT DOMAIN,CATEGORY,DAY,CNT FROM BASE_DATA) AS DAY_CNTS
INNER JOIN
(SELECT DOMAIN,CATEGORY,SUM(CNT) AS TOT FROM BASE_DATA
GROUP BY DOMAIN,CATEGORY) AS WEEKLY_TOTALS
ON (DAY_CNTS.DOMAIN = WEEKLY_TOTALS.DOMAIN,
DAY_CNTS.CATEGORY = WEEKLY_TOTALS.CATEGORY)
)

该查询给了我一个错误:“#1241 - 操作数应包含 1 列

令我困惑的是,我认为这个查询不会有问题。选择列,然后从另一个表中再选择两列,然后从那里继续。我只是不明白问题出在哪里。

是否有一个简单的解决方案,或者有其他方法来编写我的查询?

最佳答案

您的括号已关闭,您需要子查询的表别名,并且您需要 AND 而不是 on 子句中的逗号。

事实上,您根本不需要第一个子查询:

SELECT 
WEEKLY_TOTALS.DOMAIN, WEEKLY_TOTALS.CATEGORY, DAY_CNTS.DAY
FROM
BASE_DATA DAY_CNTS
INNER JOIN
(SELECT
DOMAIN, CATEGORY, SUM(CNT) AS TOT
FROM
BASE_DATA
GROUP BY
DOMAIN, CATEGORY) WEEKLY_TOTALS ON DAY_CNTS.DOMAIN = WEEKLY_TOTALS.DOMAIN
AND DAY_CNTS.CATEGORY = WEEKLY_TOTALS.CATEGORY;

此外,如果这是在 SQL Server 上,则 DAY 是保留字,因此应适当对其进行转义。

关于mysql - SQL错误: Operand should contain 1 column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24908063/

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