0

我正在尝试编写一个查询,该查询将从三个不同的表中返回一组列。

链接其他两个表的表称为 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'

编辑:我已经删除了实际的表名和列名,这样您就不必理解这个故事来帮助解决这个问题。

4

1 回答 1

0

您的 WHERE 子句不应该是:

WHERE b.eventStartDate > '2013-10-01'

?

这是一个“发现差异”类型的问题......

于 2013-04-29T12:21:55.547 回答