【发布时间】:2010-10-08 00:02:42
【问题描述】:
我在 SQLite DB 中有两个表,INVITEM 和 SHOPITEM。他们的共享属性是 ItemId,我想执行 INNER JOIN。这是查询:
SELECT INVITEM.CharId AS CharId,
INVITEM.ItemId AS ItemId
FROM (INVITEM as INVITEM
INNER JOIN SHOPITEM AS SHOPITEM
ON SHOPITEM.ItemId = INVITEM.ItemId)
WHERE ItemId = 3;
SQLite 不喜欢它:
SQL error: ambiguous column name: ItemId
如果我写WHERE INVITEM.ItemId = 3,错误就会消失,但由于 WHERE 条件或多或少是用户指定的,我宁愿让它工作而不必指定表。 NATURAL JOIN 似乎可以解决问题,但我不确定该解决方案是否足够通用(即我可以在这种情况下使用,但我不确定是否可以在每种情况下都使用)
任何可以解决问题的替代 SQL 语法?
【问题讨论】: