读书人

sqlserver 多表依照时间排序

发布时间: 2012-12-15 15:16:03 作者: rapoo

sqlserver 多表按照时间排序
现在有A表,B表,两表中都有时间字段,datetime.现在需要按照时间先后来取两表中的数据,请问语句应该怎么写........

求大牛指导!
[最优解释]
先把所有表中的时间字段取出,union,order by, 然后取你需要的部分,比如top 100, top 10 percent啥的,找到,max(datetime)或者min(datetime),然后再在每个表中读取所有符合这个时间条件的数据行就行.
[其他解释]
select * from (select datetime字段 from a
union all
select datetime字段 from b) c
order by datetime字段
[其他解释]

SELECT  *
FROM a
INNER JOIN b ON a.主键 = b.主键
ORDER BY CASE WHEN a.datetime >= b.datetime THEN a.datetime
ELSE b.datetime
END

[其他解释]
select * from a order by [datetime]
select * from b order by [datetime]
[其他解释]
引用:
先把所有表中的时间字段取出,union,order by, 然后取你需要的部分,比如top 100, top 10 percent啥的,找到,max(datetime)或者min(datetime),然后再在每个表中读取所有符合这个时间条件的数据行就行.
其实这是个按照时间的分页,并且两表的列数不一样.......

该怎么办啊
[其他解释]
引用:
select * from (select datetime字段 from a
union all
select datetime字段 from b) c
order by datetime字段

两表的列数不一样,除了datetime没有相同字段.
[其他解释]
引用:
SQL code?123456SELECT * FROM a INNER JOIN b ON a.主键 = b.主键 ORDER BY CASE WHEN a.datetime >= b.datetime THEN a.datetime ELSE b.datetime END


你这个变成邻接表了,我要的是两表中的数据依时间排序,每条是分开的 两表没有关联.

读书人网 >SQL Server

热点推荐