SQL:使用来自其他查询的两个日期来选择日期间隔之间的数据

时间:2013-09-12 08:34:07

标签: sql database date

我是SQL新手,我遇到了一个复杂的问题。

我的表 T2 包含start_dateend_date两个时间戳。表 T1 包含时间戳ts和值v。

我想在T2中使用成对的时间戳来从这对日期之间的T1获得值v。我尝试了类似下面的东西,但它不起作用。我很感激你帮我指出这个问题。

select 
    v, 
    circle_ts 
from t1 
where circle_ts between start_ts 
    and end_ts in (
        select 
            start_ts, 
            end_ts 
        from t2 
        where meter_id = 10)

1 个答案:

答案 0 :(得分:3)

您可以选择JOIN两个表并搜索日期之间的值。

SELECT  DISTINCT a.v, a.circle_ts 
FROM    t1 a
        INNER JOIN t2 b
            ON a.circle_ts BETWEEN b.start_ts AND b.end_ts
WHERE   b.meter_id = 10