gpt4 book ai didi

mysql - 使用有效但失败,为什么?

转载 作者:行者123 更新时间:2023-12-01 00:27:53 25 4
gpt4 key购买 nike

以下查询有效:

SELECT 
SUM(sales),
date
FROM
sales
INNER JOIN
exchange_rates
USING(date)

但这失败了:

SELECT 
SUM(sales),
date
FROM
sales
INNER JOIN
exchange_rates
ON sales.date = exchange_rates.date

为什么会失败——我认为它们是一样的?我将如何修复第二个查询?

最佳答案

一般来说,如果您使用USING 子句,您加入的列不需要在SELECT 列表中使用别名。数据库知道该列没有歧义——sales.date 不可能与 exchange_rates.date 不同。另一方面,如果您使用 ON 子句,则可能会出现歧义。显然,在这种情况下,您人类知道没有歧义,只是语法不能保证这一点。

SELECT 
SUM(sales),
sales.date
FROM
sales
INNER JOIN
exchange_rates
ON sales.date = exchange_rates.date
GROUP BY sales.date

应该可以工作(我添加了 GROUP BY 只是为了明确)

关于mysql - 使用有效但失败,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10873061/

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