wenjun12369 2012-11-19 13:58
浏览 432
已采纳

sql 搜索两表数据按照日期排序

我现在需要从A表和B表中取出数据,两表都有datetime字段. 两表的数据没有关联,网上有很多是union all 这种需要有相同字段或者列数一样.

求解这样的sql语句应该怎么写........

  • 写回答

2条回答 默认 最新

  • blogzhoubo 2012-11-19 15:18
    关注

    检索的时候(使用rowid,因为rowid是唯一的):
    select * from (
    select rowid,datetime from A
    union all
    select rowid,datetime from B
    ) order by datetime

    当访问某条数据的时候,先确定该条数据在那个表里:

    select count(*) from A where rowid = 指定的rowid
    返回1的话:select * from A where rowid = 指定的rowid
    否则:
    select * from B where rowid = 指定的rowid

    因为两个表的结构不一样,而且还没有关系,所以非要把数据往一起弄,确实比较麻烦,最好能通过完善数据库设计来解决,比较合理一些,否则只能把难题扔给应用程序了。

    还有一种方法,就是不通过sql来排序,先把A,B的数据分别select order by排序后保存到两个bean中,然后通过java程序对这两个bean进行排序。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿