显示国家/地区 基于城市 ID?



我有这些表:

Country(CountID,Cname)
State(Stateid,Sname,CountID)
City(CtyID, ctyname, Stateid)
User(name,Age,CityID)

其中City id是表中User外键。Country Id不是表中User外键。

我必须显示:Name, Age, Country.

如何在SQL的结果视图中显示UserCountry和所有数据?

SELECT u.Name, u.Age, cy.Cname
FROM [User] u
INNER JOIN [City] c ON u.CityID = c.CityID
INNER JOIN [State] s ON c.Stateid = s.Stateid
INNER JOIN [Country] cy ON s.CountID = cy.CountID 

另一条评论提到了关键字的使用并引用它们以防止SQL混淆。如果可能的话,我建议让你的表名对项目有所不同,即使是像在所有表前面加上字符这样简单的东西也会有所帮助。例如,用户调用表 QUsers 而不是状态调用表 QState。任意字符确保您永远不必担心表名将来会成为 SQL 关键字。

最新更新