日期:2014-05-17  浏览次数:20980 次

简单问题想快速解决
有用户表a字段有:usrID,usrName,grpID  
表b字段有:grpID,grpName  
表c字段有:usrID0  
请问我如何通过创建视图求出usrID0的grpName?  
我的思路是想通过c中的usrID0和用户表a中的usrID相等求出  
usrID0的usrName,grpID  
然后通过b中的grpID与求出的grpID相等来求出grpName.  
我应该怎么写创建视图代码实现这样的一个过程呢?

------解决方案--------------------
三个表的关系是什么?
------解决方案--------------------
select b.grpName from b
inner join a on a.grpID=b.grpID
inner join c on c.usrID0=a.userID
where c.UserID0= 'testUserID '
------解决方案--------------------
SELECT dbo.b.grpName AS grpName, dbo.a.*
FROM dbo.a INNER JOIN
dbo.b ON dbo.a.grpID = dbo.b.grpID INNER JOIN
dbo.c ON dbo.a.usrID = dbo.c.usrID0
------解决方案--------------------
select a.iuserid from a,b,c where a.xxx=b.xxx


视图的话,如果用户表里的一个usrID删除后,视图查询就无法显示与该用户有关的记录了,应该怎么解决才能让该条记录保留?
这里不是很明白你说的