union all使用怪现象,请高手解答!

smquan 2007-08-04 09:48:58
想实现如下功能:会员信息总是放在最前面(按时间排序),当会员信息全部输出时才输出非会员信息(按时间排序),用union all实现时有如下怪现象,请高手解答,
(表名:gongying,字段名:g_title(标题),g_image(图像),g_date(日期),ifvip(会员识别符号))

sql="select * from (select g_title,g,image,g_date from gongying where ifvip=1 order by g_date desc
union all
select g_title,g,image,g_date from gongying where ifvip=0 order by g_date desc) "
调试能输出会员信息\非会员信息,但会员信息与非会员信息交替,无实现会员信息在前的功能!

sql="select * from (select g_title,g,image,g_date from gongying where ifvip=1 order by g_date desc) as A
union all
select * from (select g_title,g,image,g_date from gongying where ifvip=0 order by g_date desc) as B"

调试能输出会员信息\非会员信息,且实现会员信息在前的功能!但会员信息内部排序无按g_date desc来排序,非会员信息内部也没有按g_date desc排序!

如何才能实现???

...全文
99 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
smquan 2007-08-04
YES,NO,因为按你的语句,会员信息会输出在非会员信息之后,我也搞不清昨会事,order by ifvip Asc,就OK
回复
paoluo 2007-08-04
asc?

ifvip什麼類型?
回复
smquan 2007-08-04
谢谢,高手,我搞半天都没想出来,你简简单单一句就搞定,我测试过来,将ifvip按asc排序即可
回复
paoluo 2007-08-04
你這個可以不使用union all

try

sql="select g_title,g,image,g_date from gongying order by ifvip Desc, g_date desc"
回复
相关推荐
发帖
Access
创建于2007-09-28

7519

社区成员

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
申请成为版主
帖子事件
创建了帖子
2007-08-04 09:48
社区公告
暂无公告