2

手順に一時的なテーブルがあります。次のようなselectステートメントからデータを挿入しようとしました。

INSERT INTO #temptable
SELECT fee, expense, total FROM invoice 
UNION
SELECT vat, holdingtax, total FROM uplifts

...しかし、私の誘惑では、最初のselectステートメントのみがテーブルに入力され、次のselectステートメントはデータを挿入しません。

4

2 に答える 2

2

構文は問題ないようです、

2番目のテーブルに重複がある可能性があります。

UnionではなくUnionAllを使用してこれをテストできます。

挿入せずにクエリを実行して、期待する結果が返されるかどうかを確認します。

于 2012-05-01T09:38:07.890 に答える
2

UNIONが重複データを削除していると思います。ユニオンALLでテストを行いました。

insert into #temptable

select top 1 name from sys.tables
union  all
select top 1 name from sys.tables a

そして私は得た(2 row(s) affected)

UNIONをUNIONALLに置き換えてみてください

于 2012-05-01T09:39:03.613 に答える