gpt4 book ai didi

带有 USING (...) 错误的 SQLite 多表 INNER JOIN

转载 作者:行者123 更新时间:2023-12-03 17:00:42 25 4
gpt4 key购买 nike

我正在尝试对 INNER JOIN 两个附加表的 SQLite 数据库运行查询:

SELECT
usages.date AS date,
usages.data AS data,
stores.number AS store,
items.name AS item
FROM usages
INNER JOIN stores USING (store_id)
INNER JOIN items USING (item_id)

但是,我得到了错误

SQL error: cannot join using column item_id - column not present in both tables

我知道我可以使用显式 INNER JOIN stores ON usages.store_id = stores.store_id(并且有效),但是:为什么 USING 查询会在 SQLite 中抛出错误?

它不在 MySQL 上...

我应该注意:
这对我来说不是问题,因为我使用的是 ON 语法,但我想知道为什么会这样。

最佳答案

所以你有:

INNER JOIN items USING (item_id)

...然后您收到一条错误消息:

SQL error: cannot join using column item_id - column not present in both tables

这一定是我见过的最不神秘的错误消息之一。
我不喜欢的是,我不清楚哪个表正在与 ITEMS.item_id 进行比较 - 是 STORES 还是 USAGES?这就是为什么我避免使用 USINGNATURAL 连接语法...

关于带有 USING (...) 错误的 SQLite 多表 INNER JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3331636/

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