2013-04-03 76 views
0

有谁知道如何插入记录不为空时从表中插入记录到临时表中?当插入记录不为空时,如何将表中的记录插入临时表中?

实施例:

我有一个表呼叫A,和一个临时表下降不是Temptable。里面的一个表包含1行3列:

columnA    columnB   columnC 
854111111   854254125 

我要插入从表A中记录到不是Temptable这不是Temptable只包含一列

Column 
854111111    
854254125 

回答

2

你可以UNION(或UNION ALL)的列到INSERT声明:

INSERT INTO TempTable 
SELECT ColumnA 
FROM TableA 
WHERE ColumnA IS NOT NULL 
UNION 
SELECT ColumnB 
FROM TableA 
WHERE ColumnB IS NOT NULL 
UNION 
SELECT ColumnC 
FROM TableA 
WHERE ColumnC IS NOT NULL 

或者你可以将你的UNION一个子查询,并有1只WHERE从句:

INSERT INTO TempTable 
SELECT A 
FROM (
    SELECT ColumnA A 
    FROM TableA 
    UNION 
    SELECT ColumnB 
    FROM TableA 
    UNION 
    SELECT ColumnC 
    FROM TableA 
) t 
WHERE A IS NOT NULL 
相关问题