- リスト項目
name| count
xxx | 1
yyyy | 2
zzzz | 3
表2:私は、表1の結果必要
name |count
xxx | 1
aaa | 5
のように: 表1:
name | count
xxx | 1
yyyy | 2
zzzz | 3
aaa | 5
あなたのアイデアを教えてください。
name| count
xxx | 1
yyyy | 2
zzzz | 3
表2:私は、表1の結果必要
name |count
xxx | 1
aaa | 5
のように: 表1:
name | count
xxx | 1
yyyy | 2
zzzz | 3
aaa | 5
あなたのアイデアを教えてください。
UNIONを使用してください。表1に挿入する
select * from table1
union
select * from table2
:
INSERT INTO TABLE1
select * from table2
where not exists(
select * from table1
where name=TABLE2.Name
and count=TABLE2.Count
)
こんにちはunoinはexpexed結果を与えますが、テーブル1は同じままです。テーブル2に新しいものがあればtable1に値を挿入する必要があります – user1897937
テーブル1に挿入するクエリを追加しました – valex
@ user1897937ようこそスタックオーバーフロー。この回答がうまくいけば、[受け入れられたとマークしてください](http://stackoverflow.com/faq#howtoask) – valex
あなたは、これはあなたの開発に取り組んでいるかどうかを
MERGE INTO table1 x
USING table2 b
ON (x.name=b.name and x.count=b.count)
WHEN NOT MATCHED THEN
INSERT (x.name,x.count)VALUES(b.name,b.count);
PostgreSQLがバージョン9.5でMERGE INTOをサポートしているとは思いませんか? – Joril
を確認することができます私たちは特別なMERGE/UPSERTコマンドは必要ありません。
あるテーブルの行を他のテーブルにマージするには。
INSERT INTO table1
(SELECT * FROM table2
WHERE name NOT IN
(SELECT name FROM table1));
古いテーブルから新しいテーブルを作成する場合。
CREATE TABLE new_table AS
(SELECT * FROM table1
UNION
SELECT * FROM table2);
は、これはIDをチェックする単純なクエリを実行することはできません(名前は、このケースである)と参加していますか? –