0

私は2つのテーブルを持っています。一方のテーブル (A) には n 行のデータがあり、もう一方のテーブル (B) は空です。テーブル B に n 行、テーブル A の各行に 1 行を挿入したい。テーブル B には、テーブル A の外部キーを含む、テーブル A のフィールドがいくつかあります。 Aの各行に対して.これを行うためにTSQLを作成するにはどうすればよいですか?

4

4 に答える 4

4
INSERT INTO TableB (ColA, ColB, ColC)
SELECT ColA, ColB, ColC
FROM TableA

Pinal Dave は、他の代替方法に関する素晴らしい記事をここに書いています。

http://blog.sqlauthority.com/2007/08/15/sql-server-insert-data-from-one-table-to-another-table-insert-into-select-select-into-table/

于 2012-11-20T15:14:50.343 に答える
1

私があなたを正しく理解していれば、次のようなものを使用する必要がありますSELECT INTO: http://www.w3schools.com/sql/sql_select_into.asp

于 2012-11-20T15:15:08.467 に答える
1

あなたはこれを行うことができます:

;WITH CTE
AS
(
   SELECT *, ROW_NUMBER() OVER(ORDER BY PrimaryKey) row_num
   FROM tableA
)
INSERT INTO Tableb(...)
SELECT ...
FROM CTE
WHERE row_num = 1;
于 2012-11-20T15:15:30.093 に答える
1

これは、次のクエリを使用して実行できます。

INSERT INTO B(PriKey, RelationshipWithA, Description)
SELECT ROW_NUMBER(), A.PrimaryKey, A.Description
FROM A

より適切な例が必要な場合は、入力したい特定のテーブル名と列を提供してください。

于 2012-11-20T15:16:26.360 に答える