求一个sql语句

kongguyoulan163 2006-06-08 10:01:10
有一个sql语句不会写,请大家请教
Table1
tid displayorder yyyy
1 0 0
2 3 xxx
3 0 0
4 0 0
5 1 www
6 0 0
7 2 www
Table2
tid time status

2 time2 0
5 time3 0
7 time4 0
2 time6 1
5 time7 1
7 time8 1
4 time9 0

time1<time2<time3<time4<time5<time6<time7<time8<time9
displayorder大于0的按time由大到小排列,displayorder=0的按tid的大小排列,只取status=1,status=0的不考虑
最后得到table1得tid
tid displayorder time
7 2 time8
5 1 time7
2 3 time6
1 0 null
3 0 null
4 0 null
6 0 null
谢谢了
我得到这个语句后主要用来discuz论坛浏览某个论坛主题,如http://ez14.imook.cn/bbs.imook.cn/forumdisplay.php?fid=56
我想得到的结果是通过sql语句,得到一个结果,是置顶的帖子在最上面显示,这些置顶的帖子按加入置顶的时间倒序排列;普通的帖子按回复的时间倒序排列。熟悉discuz的朋友可以参考一下
...全文
133 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenshuicao 2006-06-08
  • 打赏
  • 举报
回复
第一条
select * from table2 left join table1 on table2.tid=tabl1.tid where table1.status=1 and table1.displayorder=0 order by table1.tid

第二条
select * from table2 left join table1 on table2.tid=tabl1.tid where table1.status=1 and table1.displayorder>0 order by table2.time
xuzuning 2006-06-08
  • 打赏
  • 举报
回复
select * from table2 left join table1 on table2.tid=tabl1.tid where table1.status=1 order by table2.time desc, table1.tid

这样试试,应该可以
kongguyoulan163 2006-06-08
  • 打赏
  • 举报
回复
怎么用两个SQL语句阿,听起来蛮新鲜的。说说看,是不是用子查询阿?我现在是没办法实现这个问题了。
ice_berg16 2006-06-08
  • 打赏
  • 举报
回复
一个不行,用两个吧,
两种排序条件一条SQL不能完成
kongguyoulan163 2006-06-08
  • 打赏
  • 举报
回复
晕,用上面的sql语句倒是能查出东西来,但是当我再增加一个条件时就行了,不是语法错误,而是差到的数据为0条,本来能够查到数据的,好晕哦。
wen8u8 2006-06-08
  • 打赏
  • 举报
回复
认为一个不行,两个吧。
kongguyoulan163 2006-06-08
  • 打赏
  • 举报
回复
看起来可行

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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