第一个数据库表
UserID varchar(18)
UserName varchar(18)
DepartmentID int
OfficeID int
.....第二个数据库表
DepartmentID
DepartmentName第三个数据库表
OfficeID
OfficeName.....
还有很多这样的类似字段我要查询第一个表显示出DepartmentName , OfficeName....
现在我用视图
SELECT UserID,(SELECT DepartmentName FROM Department WHERE DepartmentID=Users.DepartmentID) AS DepartmentName FROM WHERE UserID=@UserID但是这样的字段太多了,还有没有更好的办法?

解决方案 »

  1.   

    什么意思,不懂
    字段多了没有办法呀
    只能写
    还有,你为什么不用inner join ?
      

  2.   

    select a.UserID,
           a.UserName,
           b.DepartmentName,
           c.OfficeID,
           c.OfficeName
    from   User a,
           Department b,
           Office c
    where  a.DepartmentID=b.DepartmentID and
           a.OfficeID=c.OfficeID
      

  3.   

    同意 brightheroes(闭关|那一剑的风情) ,用inner join 连接
      

  4.   

    wangsaokui(无间道III(终极无间)) 的方法如果数据表少的话还不错,但楼主说类似表有好多,这就有点头疼了。
    我SQL用的不好,你最好去SQL区问一下,那边高手也不少