喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
 11  1/2  1  2  > 
     
标题: 求助:高难sql语句  
 
goodlook
中级会员
Rank: 3Rank: 3
中级会员


UID 18784
精华 0
积分 380
帖子 388
金钱 380 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2003-3-8
状态 离线
求助:高难sql语句

A表,用户表: u_uid, u_user,u_score (仅列有用的字段)
B表,订单表: o_oid, u_uid,o_point,o_passed

o_passed 是订单是否已经处理过了。o_point 用户花在该订单上的点数。u_uid 关联A表中的一个用户

u_score 用户积分

u_score下单时就已经扣除了o_point 这么多点,现在要取出A表中用户的数据,u_score 这个数据不能使用即时的,需用u_score 加上他下过的未处理过的所有定单的 o_point 数。
最后按u_score高低来排序。
注:有的用户可能没有定单,有的用户可能只有没有处理过的定单,或只有已经处理过了的订单。

不知道我表述清楚没有。

我写了个,但老是取不出所有用户。

SELECT a.*,a.u_score-10000 as aa ,
IF(b.o_passed=0 , a.u_score + sum(b.o_point) ,a.u_score ) as dd ,
b.*
FROM user a
left outer join order b on a.u_uid=b.u_uid
where b.o_passed!=1 or b.o_passed is null  
group by a.u_uid
ORDER BY aa DESC


a.u_score-10000  这个是计算用户比基准积分的差。




超值blog主机,大IIS,大流量45元,QQ:4681411
www.hostme.cn
2006-7-25 06:33 PM#1
查看资料  访问主页  发短消息  顶部
 
goodlook
中级会员
Rank: 3Rank: 3
中级会员


UID 18784
精华 0
积分 380
帖子 388
金钱 380 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2003-3-8
状态 离线
[推荐阅读] 代友诚聘-PHP工程师-北京
顶一下
难道那些“高手”就是这样顶出来的?




超值blog主机,大IIS,大流量45元,QQ:4681411
www.hostme.cn
2006-7-26 09:18 AM#2
查看资料  访问主页  发短消息  顶部
 
goodlook
中级会员
Rank: 3Rank: 3
中级会员


UID 18784
精华 0
积分 380
帖子 388
金钱 380 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2003-3-8
状态 离线
[推荐阅读] 网页打开时提前下载图片方法
再顶!

真是的……




超值blog主机,大IIS,大流量45元,QQ:4681411
www.hostme.cn
2006-7-26 10:51 AM#3
查看资料  访问主页  发短消息  顶部
 
唠叨 (唠叨)
版主
Rank: 7Rank: 7Rank: 7
版主



UID 9955
精华 0
积分 1479
帖子 1546
金钱 1479 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2001-10-27
状态 离线
[推荐阅读] 求css教程
你有where子句,当然取不到全部,总不能假定所有记录都符合条件吧
2006-7-26 11:00 AM#4
查看资料  Blog  发短消息  顶部
 
unspace (未知空间)
版主
Rank: 7Rank: 7Rank: 7
百万富翁


UID 67567
精华 0
积分 104940
帖子 5284
金钱 103836 喜悦币
威望 0
人脉 1104
阅读权限 100
注册 2005-12-28
来自 吉林
状态 离线
[推荐阅读] 不拘一格"网"代理---百年旺世 现诚招代理
顶出高手来



7月1日起,北京市低保、最低工资标准、失业保险、工伤保险、基本养老金5项社会保障标准均将全部上调。其中,最低工资标准增加70元,提高到800元。
2006-7-26 02:55 PM#5
查看资料  访问主页  Blog  发短消息  顶部
 
goodlook
中级会员
Rank: 3Rank: 3
中级会员


UID 18784
精华 0
积分 380
帖子 388
金钱 380 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2003-3-8
状态 离线
[推荐阅读] 请问调试“vtigerCRM4.2.4”时出现连不上mysql的原因是什么?
不用where又会把不附和条件的取到。唠叨帮想个办法。
如果不行就的改N多文件来实现,并且要付出更多资源。因为这个语句是用来生成排行榜缓存页面的。




超值blog主机,大IIS,大流量45元,QQ:4681411
www.hostme.cn
2006-7-26 06:41 PM#6
查看资料  访问主页  发短消息  顶部
 
goodlook
中级会员
Rank: 3Rank: 3
中级会员


UID 18784
精华 0
积分 380
帖子 388
金钱 380 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2003-3-8
状态 离线
[推荐阅读] 关于文章排序设计
顶出商手来



超值blog主机,大IIS,大流量45元,QQ:4681411
www.hostme.cn
2006-7-27 04:04 PM#7
查看资料  访问主页  发短消息  顶部
 
cutejing
新手上路
Rank: 1
老会员



UID 28423
精华 0
积分 5
帖子 503
金钱 5 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2004-5-10
来自 流浪的人无定居所
状态 离线
[推荐阅读] php开发门户网站
试下看行不行 ...

SELECT a.*,
             IF( b.uid IS NULL,a.u_score,a.u_score-10000 + sum(
                            IF(b.opassed<>1,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




the balance between love and like
2006-7-27 05:12 PM#8
查看资料  Blog  发短消息  顶部
 
goodlook
中级会员
Rank: 3Rank: 3
中级会员


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
2006-7-27 06:07 PM#9
查看资料  访问主页  发短消息  顶部
 
microzdh
注册会员
Rank: 2
初级会员



UID 68300
精华 0
积分 79
帖子 61
金钱 79 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-1-26
状态 离线
[推荐阅读] 这样的网站整个制作下来要多少钱?
学习ing!!
2006-7-27 08:19 PM#10
查看资料  Blog  发短消息  顶部
 11  1/2  1  2  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.024554 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP