求助一个表的sql语句(续)
我有一个表liansai,字段有:name,result
数据有: 张三,胜
李四,胜
张三,负
张三,胜
张三,胜
李四,胜
李四,胜
这是一个比赛结果的记录表。现在我想把结果输出如下几项:
name,比赛场次,胜场,负场,胜率,总积分(胜一场3分,负一场1分)
张三, 4, 3, 1, 75% ,10
李四, 3, 3, 0, 100%, 9
正确结果如下:
SELECT name,count(*) as changci,sum(iif (result='负',1, iif(result='胜',0))) as 负场,sum(iif (result='负',0, iif(result='胜',1))) as 胜场,sum(iif (result='负',1, iif(result='胜',3))) as 总积分,RTrim(Cast(sum(iif (result='负',0, iif(result='胜',1)))*100.0/Count(result) As Int))+'%' As 胜率
FROM liansai group by name
现在我想把纪录可以分别按照比赛场次、胜场、负场、胜率、总积分等各项进行排序,写了如下的语句:
<%
Dim Recordset1__paixu
Recordset1__paixu = "zongfen"
If (request.querystring("paixu") <> "") Then
Recordset1__paixu = request.querystring("paixu")
End If
%>
SELECT name,count(*) as changci,sum(iif (result='负',1, iif(result='胜',0))) as 负场,sum(iif (result='负',0, iif(result='胜',1))) as 胜场,sum(iif (result='负',1, iif(result='胜',3))) as 总积分,RTrim(Cast(sum(iif (result='负',0, iif(result='胜',1)))*100.0/Count(result) As Int))+'%' As 胜率
FROM liansai group by name order by paixu desc
我用的是dreamweaver编程,前面一部分是定义变量paixu的。如果原来的liansai表中有场次、胜场、负场等字段,则这段程序是可以正确运行的。但是现在却出现问题:试图执行的查询中不包含作为合计函数一部分的特定表达式'zongfen'。我想请问如何才能正确的排序?
问题点数:50、回复次数:3Top
1 楼ptma(守望者)回复于 2006-06-03 11:27:25 得分 0
SQL 把 name,比赛场次,胜场,负场 取出就可以了
其余的交给 ASP 处理吧Top
2 楼archangelsun()回复于 2006-06-03 11:46:16 得分 0
具体怎么做呢?Top
3 楼archangelsun()回复于 2006-06-03 13:36:31 得分 0
各种办法都想过了,还是没有想出来。HELP!Top




