- 列表項
name| count
xxx | 1
yyyy | 2
zzzz | 3
表2:
name |count
xxx | 1
aaa | 5
我需要的結果如表1所示: 表1:
name | count
xxx | 1
yyyy | 2
zzzz | 3
aaa | 5
請給出你的想法
name| count
xxx | 1
yyyy | 2
zzzz | 3
表2:
name |count
xxx | 1
aaa | 5
我需要的結果如表1所示: 表1:
name | count
xxx | 1
yyyy | 2
zzzz | 3
aaa | 5
請給出你的想法
你應該使用UNION。
select * from table1
union
select * from table2
要插入到表1:
INSERT INTO TABLE1
select * from table2
where not exists(
select * from table1
where name=TABLE2.Name
and count=TABLE2.Count
)
喜unoin給出expexted結果,但我需要插入的任何新表2中 – user1897937
我添加了一個查詢插入到表1 – valex
@ user1897937歡迎堆棧溢出表1的值表1保持相同。如果這個答案爲你工作,請[標記爲接受(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版本? – 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一個簡單的查詢來完成(名字是這種情況),並做了一個連接? –