中的日期分配標記週期名稱我有一個包含三列的表格:每個報告週期的開始和結束日期以及週期的名稱。我有第二張桌子和一堆日期。我試圖創建第三個表格,第二個表格中的日期與第一個表格中標記期間的名稱。根據表
我知道我可以通過硬編碼從第一個表到一堆CASE語句的日期。有沒有更好的辦法?
中的日期分配標記週期名稱我有一個包含三列的表格:每個報告週期的開始和結束日期以及週期的名稱。我有第二張桌子和一堆日期。我試圖創建第三個表格,第二個表格中的日期與第一個表格中標記期間的名稱。根據表
我知道我可以通過硬編碼從第一個表到一堆CASE語句的日期。有沒有更好的辦法?
這應該工作:
select t1.SomeDate, t2.PeriodName
from Table1 t1
left join table2 t2 on t1.SomeDate >= t2.DateFrom and t1.SomeDate <= t2.DateTo
我真的不知道,如果你需要在表2即使在表1的對應name_period爲空或表1中的所有name_period所有日期,所有的相應日期的table2是空的。然而,嘗試任何這些:
創建表的表3爲選擇t2.start_date,t2.end_date,從表2 T2 t1.period_name,表1 T1其中t2.start_date = t1.start_date或t2.end_date = T1 。結束日期;
創建表table3爲選擇t2。*,t1.period_name from table2 t2,table1 t1其中t2.start_date = t1.start_date或t2.end_date = t1.end_date;
哦,我怎麼尷尬,我甚至用相同的列名 – Lamak
@Lamak,有時會發生:) –
謝謝你,工作非常出色。 – user3338765