-1
我有2 tables.My第一工作臺具有僅與具有多個單列數據和具有第二 表3柱(成本,開始日期,結束日期)柱(即DATE)只有在table2.date存在於table2.startdate和table2.enddate Intervel之間時,才需要獲取table2.cost值。到2臺之間的數據沒有公共列比較
誰能告訴我查詢上述方案以與SQL
我有2 tables.My第一工作臺具有僅與具有多個單列數據和具有第二 表3柱(成本,開始日期,結束日期)柱(即DATE)只有在table2.date存在於table2.startdate和table2.enddate Intervel之間時,才需要獲取table2.cost值。到2臺之間的數據沒有公共列比較
誰能告訴我查詢上述方案以與SQL
從第二表中的每個匹配數據得到記錄一次,就可以加入表:
select
t2.cost
from
Table2 t2
inner join Table1 t1 on t1.theDate >= t2.startdate and t1.theDate < t2.enddate
要獲得匹配從第二個表中的記錄只有一次,即使不止一個日期從第一個表匹配,你可以使用exists
:
select
t2.cost
from
Table2 t2
where
exists (
select *
from Table1 t1
where t1.theDate >= t2.startdate and t1.theDate < t2.enddate
)
注:本人具有u假定startdate
是包含性的並且enddate
是排他性的,則在>=
和<
運營商的比較中進行比較。如果enddate
是包含的,則可以使用<=
運算符而不是<
,或使用between
運算符。
從第二表中選擇費用,其中startdate <=(從第一表中選擇日期)和enddate> =(從第一表中選擇日期) – 2014-10-01 10:34:04