[英]How do I update TABLE1 with values from TABLE2 without setting columns from TABLE1 to specific, individual select statements?
[英]How do I migrate data from one table into another, the rows in table1 being columns in table2?
我發現了幾個類似的問題,但似乎沒有一個能准確回答我的問題,而且我不太擅長 SQL,所以這是我的問題:
我有多行的table 1
;
姓名 | 價值 |
---|---|
姓名1 | v1 |
姓名2 | v2 |
姓名3 | v3 |
姓名 4 | v4 |
姓名5 | v5 |
我想將這些行(特定的行,如 name1、name2、name3)遷移到另一個表中的一行中,其中的列將與名稱匹配。
這是table 2
:
ID | n1 | n2 | n3 |
---|---|---|---|
1 | v2 | v2 | v3 |
我可能知道如何編寫能夠做到這一點的 SQL,但只能逐行編寫。 遷移該數據的好方法是什么? 理想情況下,我也會在完成后刪除表 1 中的行。
我假設您想匯總您的結果並插入到一個空表中。 查詢中的名稱不必匹配。 相關的是括號之間列出的insert
列中名稱之間的對應關系,其順序與select
輸出相同。
insert into t2 (id, matchForN1, matchForN2, matchForN3, ...)
select
id,
min(name) filter (where name = 'name1') as n1,
min(name) filter (where name = 'name2') as n2,
min(name) filter (where name = 'name3') as n3 ...
from t1
where name in ('name1', 'name2', 'name3' ...)
group by id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.