SQL Serverの中程度の回転変換質問
特に大規模なデータセットを扱う場合は、SQL Serverのパフォーマンスチャレンジになる可能性があります。この記事では、行の変換を最適化するためのさまざまな方法について説明します。
ピボット関数ピボット関数は、このタスクの一般的な選択です。常に最速の方法ではありませんが、直接的で柔軟な変換方法を提供します。 ポリマー機能と症例式
PIVOTの交換方法は、ポリマー機能と症例式を使用することです。
<code class="language-sql">SELECT FirstName, Amount, PostalCode, LastName, AccountNumber FROM ( SELECT value, columnName FROM yourTable ) d PIVOT ( MAX(value) FOR columnName IN (FirstName, Amount, PostalCode, LastName, AccountNumber) ) piv;</code>ログイン後にコピー複数の接続
ピボットまたは重合関数の場合、複数の接続を使用できます。ダイナミックピボット
<code class="language-sql">SELECT MAX(CASE WHEN columnName = 'FirstName' THEN value END) Firstname, MAX(CASE WHEN columnName = 'Amount' THEN value END) Amount, MAX(CASE WHEN columnName = 'PostalCode' THEN value END) PostalCode, MAX(CASE WHEN columnName = 'LastName' THEN value END) LastName, MAX(CASE WHEN columnName = 'AccountNumber' THEN value END) AccountNumber FROM yourTable;</code>ログイン後にコピー変換する必要がある不明なケースの場合、動的なSQLを使用してピボットステートメントを作成できます。
以上がSQL Serverの列に行を効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。