SQL多字段比较排序问题

budweiser1 2012-07-24 11:25:17
表名:aaa
aid a_addtime content
1 2012-01-01 xxx
2 2012-01-02 xxx
3 2012-01-03 xxx
4 2012-01-30 xxx
表名:bbb
bid a_aid b_addtime
1 2 2012-01-08
2 4 2012-02-01
表名:ccc
cid aa_aid c_addtime
1 3 2012-01-05



SELECT * FROM (aaa a LEFT JOIN bbb b ON a.aid=b.a_aid) LEFT JOIN ccc c ON a.aid=c.aa_aid
WHERE content='xxx'
ORDER BY a.a_addtime DESC,b.b_addtime DESC,c.c_addtime DESC


这样得到的结果是





期望得到的结果






总而言之就是 比较a_addtime b_addtime c_addtime的大小进行排序
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
budweiser1 2012-07-25
  • 打赏
  • 举报
回复
对得到的结果是 筱筱澄贴出的

aid a_addtime content bid a_aid b_addtime cid aa_aid c_addtime
----------- ----------------------- ------- ----------- ----------- ----------------------- ----------- ----------- -----------------------
4 2012-01-30 00:00:00.000 xxx 2 4 2012-02-01 00:00:00.000 NULL NULL NULL
3 2012-01-03 00:00:00.000 xxx NULL NULL NULL 1 3 2012-01-05 00:00:00.000
2 2012-01-02 00:00:00.000 xxx 1 2 2012-01-08 00:00:00.000 NULL NULL NULL
1 2012-01-01 00:00:00.000 xxx NULL NULL NULL NULL NULL NULL

(4 行受影响)


期望得到的结果是




aid a_addtime content bid a_aid b_addtime cid aa_aid c_addtime
----------- ----------------------- ------- ----------- ----------- ----------------------- ----------- ----------- -----------------------
4 2012-01-30 00:00:00.000 xxx 2 4 2012-02-01 00:00:00.000 NULL NULL NULL
2 2012-01-02 00:00:00.000 xxx 1 2 2012-01-08 00:00:00.000 NULL NULL NULL
3 2012-01-03 00:00:00.000 xxx NULL NULL NULL 1 3 2012-01-05 00:00:00.000

1 2012-01-01 00:00:00.000 xxx NULL NULL NULL NULL NULL NULL

(4 行受影响)
以学习为目的 2012-07-25
  • 打赏
  • 举报
回复
如楼上所说,楼主可以再执行下试试。
另外你要的结果好像也可以通过ORDER BY 表aaa.bid加其他条件实现啊
筱筱澄 2012-07-24
  • 打赏
  • 举报
回复
用你的数据和测试语句 我怎么得到的是下面的结果



aid a_addtime content bid a_aid b_addtime cid aa_aid c_addtime
----------- ----------------------- ------- ----------- ----------- ----------------------- ----------- ----------- -----------------------
4 2012-01-30 00:00:00.000 xxx 2 4 2012-02-01 00:00:00.000 NULL NULL NULL
3 2012-01-03 00:00:00.000 xxx NULL NULL NULL 1 3 2012-01-05 00:00:00.000
2 2012-01-02 00:00:00.000 xxx 1 2 2012-01-08 00:00:00.000 NULL NULL NULL
1 2012-01-01 00:00:00.000 xxx NULL NULL NULL NULL NULL NULL

(4 行受影响)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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