当一个键位于多个表上时

时间:2017-04-03 14:03:59

标签: sql ms-access

我想知道我在这个练习中做错了什么,其中SectionID是桌面上的一个关键餐厅餐厅和餐桌上的外键。

SELECT RestaurantName, Street, City, State, SectionID
FROM   RestaurantSection, RestaurantTable
WHERE RestaurantSection.SectionID = RestaurantTable.SectionID
AND     Restaurant.State = "NY"

1 个答案:

答案 0 :(得分:1)

如果您阅读了错误消息,您可能会发现它显示的内容类似于对SectionID的歧义。

撰写查询时,您应该:

  • 使用正确的,明确的JOIN语法。
  • 限定所有列名称。
  • 可能会给你的表别名。

所以,这样的事情(我猜测列的来源):

SELECT rs.RestaurantName, rs.Street, rs.City, rs.State, rs.SectionID
FROM RestaurantSection as rs INNER JOIN
     RestaurantTable as rt
     ON rs.SectionID = rt.SectionID
WHERE rs.State = "NY";