我有两个Postgresql表,详细说明与其主题相对应的离散事件。
假设我的表A有3行,时间戳(t1,t4,t6),表B有4行,时间戳(t0,t2,t3,t7,t8)。
我想创建一个视图,显示表B中的每个记录与表B中的相应记录连接,使得表A中具有时间戳t_i的行与表B中的记录连接,时间戳直接< = t_i。
例如,t4处的表A行与t3处的表B行连接。
如果您想在符号中考虑它,请参阅这两个表以及合并的VIEW。
(时间戳)
Table A: | | |
Table B:/ / / / / ->
VIEW: /| / /| |/ /
每个" |"符号采用前面的信息" /"符号
这对SQL查询是否可行?
谢谢!
答案 0 :(得分:0)
符号没有多大帮助,但如果我理解正确,这可能就是这样:
WITH tableA as
(
Select 'a1' aid, getdate()-1 A_Date union all
Select 'a4',getdate()-4 union all
Select 'a6',getdate()-6
)
,tableB as
(
Select 'b0' bid,getdate() b_date union all
Select 'b2' ,getdate()-2 union all
Select 'b3',getdate()-3 UNION ALL
SELECT 'b7',getdate()-7 union all
Select 'b8',getdate()-8
)
, j as (
Select * ,row_number() over(partition by aid order by b_date desc) r#
from tablea
join tableb on b_date<=a_date
)
Select * from j where r# =1