2017-04-03 25 views
0

我想知道我在做這個練習時做了什麼錯誤,其中SectionID是RestaurantSection上的一個鍵和RestaurantTable上的一個外鍵。當一個鍵位於多個表上

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

回答

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";