ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一个表中的多个字段和另外一张表的一个字段链接的实现

一个表中的多个字段和另外一张表的一个字段链接的实现

原创 Linux操作系统 作者:Learnsql 时间:2008-12-03 19:45:26 0 删除 编辑

在论坛里看到这样一个问题:

我有两个表,MemberInfo (MemberName,ProvinceID,CapitalID,CityID) ,
MemberName,ProvinceID,CapitalID,CityID
张三               1000          1001    1002

CityInfo(CityID,CityName)
1000   湖北省
1001   武汉市
1002   江汉区

其中用户表里的省份 城市ID 等对应CiityInfo里的ID

现在我要输出这样格式的数据,请问SQL怎么写?

姓名    省份      地区    县级市   
张三    湖北省  武汉市  江汉区

实现方式:

SELECT     M.MemberName AS '姓名', K.CityName AS '省份', F.CityName AS '地区', C.CityName AS '县级市'
FROM         MemberInfo AS M LEFT OUTER JOIN
CityInfo AS K ON M.ProvinceID = K.CityID LEFT OUTER JOIN
CityInfo AS F ON M.CapitalID = F.CityID LEFT OUTER JOIN
CityInfo AS C ON M.CityID = C.CityID

--子查询的方式

SELECT F.MemberName,(SELECT Cityname FROM CityInfo WHERE CityID= F.ProvinceID) AS 省份,
  (SELECT Cityname FROM CityInfo WHERE CityID= F.CapitalID) AS 地区,
(SELECT Cityname FROM CityInfo WHERE CityID= F.CityID) AS 县级市
FROM MemberInfo F

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15042150/viewspace-504573/,如需转载,请注明出处,否则将追究法律责任。

下一篇: SQL Sever 日期函数
请登录后发表评论 登录
全部评论

注册时间:2008-08-01

  • 博文量
    20
  • 访问量
    47329