2017-10-12 7 views
-2
id | qns | ans 
---+-------+---- 
1 | qns 1 | a 
1 | qns 2 | b 
2 | qns 1 | c 
2 | qns 2 | d 

上記の表を次の表に変換するには、どのようなSQLクエリを使用できますか?SQLを列に変換する

id | qns 1 | qns 2 
---+-------+------ 
1 | a  | b 
2 | c  | d 
+0

? – Strawberry

答えて

2

があり、私のためにデータを行から列に変換する複数のオプション。 SQLでは、PIVOTを使用して行から列にデータを変換できます。

CREATE table #tablename 
(Id int, Value varchar(10), ColumnName varchar(15); 


INSERT INTO #tablename 
(ID, Value, ColumnName) 

VALUES 
(1, 'Lucy', 'FirstName'), 
(2, 'James', 'LastName'), 
(3, 'ABCDXX', 'Adress'), 
(4, 'New York', 'City'), 
(5, '8572685', 'PhoneNo'); 

select FirstName, LastName, Address, City, PhoneNo 
from 
(
select Value, ColumnName 
from #tablename 
) d 
pivot 
(
max(Value) 
for ColumnName in (FirstName, LastName, Address, City, PhoneNo) 
) piv; 

は、行から列へデータを変換する他のオプションについては、以下のリンクを参照してください:あなたはMySQLを使っている

https://www.sqlshack.com/multiple-options-to-transposing-rows-into-columns/

+0

MySQLには 'ピボット'はありません – Avery235

関連する問題