当有一个表同时有多个外键同时指向某一个表时,需要通过外键来查询到相应的信息。 举个例子:这是一个订车票的 城市表
CityID CityName
1 广州
2 湛江
3 江门
4 肇庆
5 惠州
6 汕头
车次表
CarID CarName StartCityID EndCityID
1 G001 1 2
2 G002 1 3
这里的StartCityID和EndCityID分别是城市表的外键
解决方法
现在要把对应的始发城市和终点城市的名称取到,mssql语句可以这样
方法一:
SELECT 始发站=c1.CityName,终点站=c2.CityName
FROM car,City c1,City c2
WHERE StartCityID = c1.CityID AND EndCityID = c2.CityID
方法二:
SELECT 始发站=c1.CityName,终点站=c2.CityName
FROM car
join City c1 on StartCityID = c1.CityID
join City c2 on EndCityID = c2.CityID