English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL Serverの縦表と横表の相互変換方法

1、縦表から横表への変換

縦表構造 Table_A:

変換後の構造:

縦表から横表へのSQL例:

SELECT Name ,
SUM(CASE WHEN Course = N'国語' THEN Grade
ELSE 0
END) AS Chinese ,
SUM(CASE WHEN Course = N'数学' THEN Grade
ELSE 0
END) AS Mathematics ,
SUM(CASE WHEN Course = N'英語' THEN Grade
ELSE 0
END) AS English
FROM dbo.Table_A
GROUP BY Name

2、横表から縦表への変換

横表構造Table_B:

変換後のテーブル構造:

横表から縦表へのSQL例:

SELECT Name ,
'Chinese' AS Course ,
Chinese AS Score
FROM dbo.Table_B
UNION ALL
SELECT Name ,
'Mathematics' AS Course ,
Mathematics AS Score
FROM dbo.Table_B
UNION ALL
SELECT Name ,
'English' AS Course ,
English AS Score
FROM dbo.Table_B
ORDER BY Name ,
Course DESC 

 以上の内容は編集者が皆さんに紹介するSQL Serverの縦表と横表の相互変換方法であり、皆さんに役立つことを願っています。何か疑問があれば、コメントを残してください。編集者はすぐに回答します。また、呐喊教程サイトへのサポートに感謝しています!

声明:本文の内容はインターネットから取得しており、著作権者に帰属します。インターネットユーザーが自発的に貢献し、自己でアップロードしたものであり、本サイトは所有権を有しておらず、人間による編集は行われていません。著作権に抵触する内容がある場合は、メールを送信して:notice#oldtoolbag.com(メールを送信する際には、#を@に変更してください。報告を行い、関連する証拠を提供してください。一旦確認が取れましたら、本サイトは侵害を疑う内容をすぐに削除します。

おすすめ