我试图编写一个查询,它将从三个不同的表中返回一组列。
其他两个表之间链接的表称为Table_A,它包含其他两个表的键。 第二个表称为Table_B,最后一个表称为Table_C。
Table_A列。
| a_ID(主键)| b_ID(外键)| C_ID (外键)| .......
表_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'
编辑:我删除了实际的表名和列名,这样您就不必了解故事来帮助解决问题。
答案 0 :(得分:0)
你的WHERE子句不应该是:
WHERE b.eventStartDate > '2013-10-01'
这是一种“点差异”的问题......