我正在尝试编写一个查询,该查询将从三个不同的表中返回一组列。
链接其他两个表的表称为 Table_A,它包含其他两个表的键。第二个表称为 Table_B,最后一个表称为 Table_C。
Table_A 列。
| a_ID(主键)| b_ID(外键)| c_ID(外键)| ..... |
Table_B 列
|b_ID(主键)| b1 | b2 | ...... |
Table_C 列
| c_ID (主键) | c1 | c2 | ...... |
这是我下面的 SQL 查询。(我只关心上面的列,尽管每个表中都有更多。)
SELECT b.b_ID
, b.b1
, b.b2
, a.a_ID
, c.c1
, c.c2
FROM Table_A AS a
JOIN Table_B AS b ON a.b_ID = b.b_ID
JOIN Table_C AS c ON a.c_ID = c.c_ID
我为我的项目使用开放式办公室,我得到的错误是
“在语句 [SELECT b.b_ID, b.b1, b.b2, a.a_ID, c.c1, c.c2 FROM Table_A AS a JOIN Table_B AS b ON a.b_ID = b.b_ID JOIN Table_C AS 中找不到表c ON a.c_ID = c.c_ID]"
出于某种原因,如果我更改 select 语句只是为了获取所有列 ( * ),它会返回正确的结果,但我需要将其缩小到查询中列出的列。*
SELECT *
FROM Table_A AS a
JOIN Table_B AS b ON a.b_ID = b.b_ID
JOIN Table_C AS c ON a.c_ID = c.c_ID'
编辑:我已经删除了实际的表名和列名,这样您就不必理解这个故事来帮助解决这个问题。