1

我是 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)
4

1 回答 1

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
于 2013-09-12T08:36:37.517 回答