日期:2014-05-18  浏览次数:20547 次

sql三表联合查询的结果 以3个表的时间顺序排序
有3个表 内容表 下载表 收藏表


内容表
id
addtime
content
title
add_user

下载表
did
id
d_addtime
downuser


收藏表
cid
id
c_addtime
shouuser



想读取3个表的内容如下

SQL code

SELECT * FROM (内容表 n LEFT JOIN 下载表 x ON n.id=x.id) LEFT JOIN 收藏表 c ON c.id=n.id 
WHERE (n.add_user='admin' OR x.downuser='admin' OR c.shouuser='admin')
ORDER BY n.addtime DESC,x.d_addtime DESC,c.c_addtime DESC






这样的SQL查询结果就是 
发布人admin 的发布内容 收藏的内容 下载的内容 的 联合结果

但是排序想变成 n.addtime x.d_addtime c.c_addtime 这三个表的时间合并的 排序

就是说 得到admin这个用户 的 最近都做了什么 如何按照时间顺序 将这个 联合 结果重新排序


------解决方案--------------------
建议你提供具体的测试数据和对应结果
------解决方案--------------------
3个表的时间合并排序?是什么意思?
------解决方案--------------------
n.addtime x.d_addtime c.c_addtime 这三个表的时间合并的排序//

这是什么意思?你把需要的结果格式贴出来看看