数据库两张表查询

tonyzjg 2012-08-21 10:59:15
有两张表
表 a 数据如下:
bankid ccy point date time
1 aa 1 20120821 105300
1 bb 1 20120821 105300
1 aa 2 20120821 105000
1 bb 2 20120821 105000

表 b 数据如下:
bankid ccy rate date time
1 aa 1 20120821 105400
1 bb 1 20120821 105400
1 aa 2 20120821 105100
1 bb 2 20120821 105100

查询时能得到这样的数据:
bankid ccy rate date time point date time
1 aa 1 20120821 105400 1 20120821 105300
1 bb 1 20120821 105400 1 20120821 105300
1 aa 2 20120821 105100 2 20120821 105000
1 bb 2 20120821 105100 2 20120821 105000

即表a中的point等数据为表b中的date和time时间之前的最新数据
...全文
181 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
BenChiM888 2012-08-21
  • 打赏
  • 举报
回复
漏洞忒多,需求太含糊鸟。。。。。
BenChiM888 2012-08-21
  • 打赏
  • 举报
回复


select b.bankid,b.ccy,b.point,b.date,b.time,
a.bankid,a.ccy,a.point,max(a.date||a.time)
from a,b
where a.bankid = b.bankid
and a.ccy = b.ccy
and a.point = b.point
and b.date||b.time >= a.date||a.time
group by b.bankid,b.ccy,b.point,b.date,b.time,
a.bankid,a.ccy,a.point

[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:
SQL code


--好吧,既然你执意要求那就给你写一个,
--不过事先声明:从你给的信息和数据看,这个sql肯定能办到,但是不一定适用你的真实情况,因为你的需求太含糊
select b.bankid,b.ccy,b.point,b.date,b.time,
a.bankid,a.ccy,a.point,a.date,a.time
from a,b
……
[/Quote]
tonyzjg 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
SQL code


--好吧,既然你执意要求那就给你写一个,
--不过事先声明:从你给的信息和数据看,这个sql肯定能办到,但是不一定适用你的真实情况,因为你的需求太含糊
select b.bankid,b.ccy,b.point,b.date,b.time,
a.bankid,a.ccy,a.point,a.date,a.time
from a,b
w……
[/Quote]

b表为价格表,a表为点差表,现在我要把b表中所有的价格都显示出来,同时b表中的每条数据都要到a表中找到价格记录时间时时的最新的点差,例如说,现在有条价格的记录时间为10:28:00,对应的点差时间有10:28:10、10:27:30以及10:27:00,要查询得到的是10:27:30
BenChiM888 2012-08-21
  • 打赏
  • 举报
回复

--好吧,既然你执意要求那就给你写一个,
--不过事先声明:从你给的信息和数据看,这个sql肯定能办到,但是不一定适用你的真实情况,因为你的需求太含糊
select b.bankid,b.ccy,b.point,b.date,b.time,
a.bankid,a.ccy,a.point,a.date,a.time
from a,b
where a.bankid = b.bankid
and a.ccy = b.ccy
and a.point = b.point
and b.date||b.time >= a.date||a.time;


[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:
漏洞忒多,需求太含糊鸟。。。。。

两张表关联查询时,要取的a表中的数据是为b表每条数据的时间之前的最新一条数据
[/Quote]
tonyzjg 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
漏洞忒多,需求太含糊鸟。。。。。
[/Quote]
两张表关联查询时,要取的a表中的数据是为b表每条数据的时间之前的最新一条数据

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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