我有一张包含......
等记录的表格FileName | A1 | A2 | A3 |
TwinCity.fi 233.3 235.33 379.8
CountryVil.fi 37.8 74.58
我需要在另一个表中为每个文件名和唯一的A值插入一条记录,所以对于上面我会插入...
TwinCity.fi 233.3
TwinCity.fi 235.33
TwinCity.fi 379.8
CountryVil.fi 37.8
CountryVil.fi 74.58
我知道我需要做什么,但我该怎么做?
答案 0 :(得分:4)
您可以使用UNPIVOT:
SELECT DISTINCT
filename,
vals
FROM
(SELECT
filename,
a1,
a2,
a3
FROM
foo) p
UNPIVOT
(vals FOR counts IN
(a1,a2,a3)
) AS bar
答案 1 :(得分:1)
怎么样,Fiddle Here
INSERT [TableTo]
SELECT * FROM
(
SELECT [FileName], [A1] [Value] FROM [TableFrom]
UNION
SELECT [FileName], [A2] [Value] FROM [TableFrom]
UNION
SELECT [FileName], [A3] [Value] FROM [TableFrom]
) [M]
WHERE [M].[Value] IS NOT NULL;