Sql 根据城市ID显示国家/地区?
我有这些桌子:Sql 根据城市ID显示国家/地区?,sql,sql-server,join,Sql,Sql Server,Join,我有这些桌子: Country(CountID,Cname) State(Stateid,Sname,CountID) City(CtyID, ctyname, Stateid) User(name,Age,CityID) 其中,City id是User表中的外键Country Id不是User表中的外键 我必须显示:姓名、年龄、国家 如何在SQL的结果视图中显示国家和用户表的所有数据 SELECT u.Name, u.Age, cy.Cname FROM [User] u INNER JOI
Country(CountID,Cname)
State(Stateid,Sname,CountID)
City(CtyID, ctyname, Stateid)
User(name,Age,CityID)
其中,City id
是User
表中的外键Country Id
不是User
表中的外键
我必须显示:姓名、年龄、国家
如何在SQL的结果视图中显示国家
和用户
表的所有数据
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混淆。如果可能的话,我建议将您的表名设置为与项目不同的名称,即使是像在所有表前面加字符这样简单的名称也会有所帮助。例如,用户调用表quser,而不是State调用表QState。任意字符可以确保您永远不必担心表名将来会变成SQL关键字。谢谢@Justin Savala