2014-08-28 166 views
1

我已經導入從Excel表有值,如:更新一個表使用另一個表中的值

ID NAME MON TUE WED THU FRI SAT SUN 

週一至週日在他們的時間值。

我想將所有這些值插入到另一個表中。

問題出現在另一個表中,MON-TUE-WED-THU等全部成爲一個名爲DayOfWeek的列,它具有INT值。因此,第一張表中的週一變爲2,週二在DayOfWeek中變爲3,等等。

看起來很簡單嗎?那麼表1中的值將不得不在包含DayOfWeek的新表中重複,因爲ID和NAME有很多時間值。例如,他們可以在TUE,THU上工作。

我必須爲這種方法使用CASE語句嗎?

例子:

INSERT INTO table2 (ID, DayOfWeek, StartTime) 
SELECT ID, CASE 
WHEN MON IS NOTNULL THEN '1' 
END AS DayOfWeek 

我覺得這將是比這更復雜。

回答

0

保持簡單:

INSERT INTO table2 (Id, [DayOfWeek], StartTime) 
SELECT Id, 1, Sun 
FROM table1 
UNION 
SELECT Id, 2, Mon 
FROM table1 
UNION 
SELECT Id, 3, Tue 
FROM table1 
UNION 
SELECT Id, 4, Wed 
FROM table1 
UNION 
SELECT Id, 5, Thu 
FROM table1 
UNION 
SELECT Id, 6, Fri 
FROM table1 
UNION 
SELECT Id, 7, Sat 
FROM table1 

一個​​如果需要

您可以添加
相關問題