2

以下のSQlを使用して、テーブルから1つのテーブルにデータを追加しようとしています。

INSERT INTO myNewTable
SELECT *
FROM 2010-tbl, 2011-tbl, 2013-tbl
WHERE fldName = 'value';

すべてのテーブルの構造はまったく同じですが、それぞれの値が異なります。最初のテーブル(myNewTable)には値がなく、他のテーブルによって挿入されたすべての値を受け入れます。では、どうすればこれを行うことができますか?ある種のJOINステートメントが必要ですか?

編集

ただ1つのこと-挿入前にその中の以前のレコードを削除しようとしています-しかし、MSAccessはこのエラーをスローしています:

Characters found after end of SQL statement

これはコードです:

DELETE * FROM myNewTable
INSERT INTO myNewTable
SELECT * FROM 2012-tbl WHERE  (((2012-tbl.[field])=[Text]));

ありがとう

4

3 に答える 3

5

ステートメントUnionでを使用するSELECT

INSERT INTO myTable 
SELECT * 
FROM 2010-tbl 
WHERE fldName = 'value'
UNION
SELECT * 
FROM 2011-tbl 
WHERE fldName = 'value'
UNION
SELECT * 
FROM 2013-tbl 
WHERE fldName = 'value'
于 2013-01-13T15:48:45.307 に答える
1

あなたは労働組合を探しています

http://dev.mysql.com/doc/refman/5.0/en/union.html

INSERT INTO myNewTable
(
  SELECT *
  FROM 2010-tbl
  WHERE fldName = 'value';
) UNION (
  SELECT *
  FROM 2011-tbl
  WHERE fldName = 'value';
) UNION (
  SELECT *
  FROM 2013-tbl
  WHERE fldName = 'value';
)
于 2013-01-13T15:49:28.167 に答える