簡體   English   中英

SQL:如何在具有多列的新表中復制表中的一行

[英]SQL : How to copy one row in a table in new table with multiple columns

我正在使用postgresql。
我只有一張表,其中只有一行,列如下:

Name_1 | LastName_1 | Name_2 | LastName_2 | Name_3 | LastName_3
---------------------------------------------------------------
Tom    | Jones      | James  | Sunn       | Lee    | Harper

我需要將其復制到具有多行和兩列的新表中,例如:

Name    | LastName
------------------
Tom     | Jones   
James   | Sunn     
Lee     | Harper

這樣,所有來自第一個表Name_1,Name_2和Name_3的表都將進入新表,位於新列Name下,姓氏也是如此。

我找到了一些類似PIVOT的選項,但我不知道如何使用它。

如果您的數據不大,那么最簡單的方法是將union all

select name_1 as name, lastname_1 as lastname from t union all
select name_2 as name, lastname_2 as lastname from t union all
select name_3 as name, lastname_3 as lastname from t;

還有其他方法可以處理更大的數據,或者主要考慮性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM