2015-05-22 40 views
0

中的日期分配標記週期名稱我有一個包含三列的表格:每個報告週期的開始和結束日期以及週期的名稱。我有第二張桌子和一堆日期。我試圖創建第三個表格,第二個表格中的日期與第一個表格中標記期間的名稱。根據表

我知道我可以通過硬編碼從第一個表到一堆CASE語句的日期。有沒有更好的辦法?

回答

0

這應該工作:

select t1.SomeDate, t2.PeriodName 
from Table1 t1 
left join table2 t2 on t1.SomeDate >= t2.DateFrom and t1.SomeDate <= t2.DateTo 
+0

哦,我怎麼尷尬,我甚至用相同的列名 – Lamak

+0

@Lamak,有時會發生:) –

+0

謝謝你,工作非常出色。 – user3338765

0

我真的不知道,如果你需要在表2即使在表1的對應name_period爲空或表1中的所有name_period所有日期,所有的相應日期的table2是空的。然而,嘗試任何這些:

  1. 創建表的表3爲選擇t2.start_date,t2.end_date,從表2 T2 t1.period_name,表1 T1其中t2.start_date = t1.start_date或t2.end_date = T1 。結束日期;

  2. 創建表table3爲選擇t2。*,t1.period_name from table2 t2,table1 t1其中t2.start_date = t1.start_date或t2.end_date = t1.end_date;