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排序!

如何才能实现???

...全文
128 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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"

7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧