一个简单的计数视图,请求帮助!
表一(userlist):
Userid varchar(key)
Username varchar
Tel varchar
RegTime Datetime
表二(result)
Userid varchar
subject varchar
point int
passing bit
两个表的USERID关联
表Result中可能存在多个相同USERID的记录
现在想得出视图:
1\将表一中每个USERID的记录列出
2\得到USERID在表二中的记录数
3\得到USERID在表二中Passing=1的记录数
数据例子
---------------------------------------------
表一:
a1 张三 52111111 2007-5-1
a2 李四 52111112 2007-5-2
b3 王五 68555512 2006-6-20
表二:
a1 数学 95 1
a1 语文 100 1
a1 英语 50 0
a2 语文 35 0
b3 数学 80 1
视图结果:
a1 3 2 ...
a2 1 0 ...
b3 1 1 ...
--------------------------------------------
请帮忙!
------解决方案--------------------select a.userid,count(*),sum(b.Passing)
from t1 a,t2 b where a.userid=b.userid
group by a.userid
------解决方案--------------------select 表一.Userid,count(*),sum(cast(passing as int)) from 表二 inner join 表一
on 表二.Userid=表一.Userid
group by 表一.Userid
------解决方案--------------------select userid,count(*) 记录数 ,sum(case Passing when 1 then 1 else 0 end ) Passing的记录数 from result group by userid