2013-04-03 72 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 
相關問題