goodlook
中级会员
 
中级会员
UID 18784
精华
0
积分 380
帖子 388
金钱 380 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2003-3-8
状态 离线
|
[推荐阅读] 有个问题要问?谁能告诉我,谢谢.
QUOTE: 原帖由 cutejing 于 2006-7-27 05:12 PM 发表
试下看行不行 ...
SELECT a.*,
IF( b.uid IS NULL,a.u_score,a.u_score-10000 + sum(
IF(b.opassed<>1,b.opoint,0)
)
... 测试通过!
先暴感谢一下,再轻轻地BS一下,高手这么久才冒出来!  
我怎么没想到 IF的嵌套呢,唉,老了老了……
不过把你的优化了一下:
SELECT a.*,
IF( b.uid IS NULL,a.u_score,a.u_score-10000 + (
IF(b.opassed<>1,sum(b.opoint),0)
)
) as aa ,
b.*
FROM user a
LEFT JOIN order b on a.u_uid=b.u_uid
group by a.u_uid
ORDER BY aa DESC sum() 放进IF里面效率要高些:)
再次感谢,能加我QQ:4681411交流交流不?
:)
|  超值blog主机,大IIS,大流量45元,QQ:4681411
www.hostme.cn |
|