2014-08-28 104 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 

一个​​如果需要

您可以添加
相关问题