ソースデータの列が出力の行として表されるストアドプロシージャから結果セットとしてデータを出力する必要があります。ソースデータにある出力の各列の行が表示され、ソースデータの各行の出力に列が表示されます。私はピボットや他の方法を使ってこれをどうやって行うことができないのか分かりません。列から行へのSQLの移動
データが好きなようになったら、sys.columnsにクエリのソースデータ列名を出力の最初の列として注入すると思います。また、あらかじめ出力列名として使用されるソースデータ値を照会する必要があります。私は将来的には素晴らしい動的SQLを想像していますが、必要に応じてすべてのものを並べ替えることができます。私は主に列を行に変換する方法に関心があります。下記を参照してください。
SELECT
ID
,XID
,Amount
FROM (
SELECT 11 as ID, 301 as XID, 50001 as Amount UNION ALL
SELECT 12 as ID, 302 as XID, 50002 as Amount UNION ALL
SELECT 13 as ID, 303 as XID, 50003 as Amount UNION ALL
SELECT 14 as ID, 304 as XID, 50004 as Amount
) T1
/*
The above query returns this:
ID XID Amount
----------------
11 301 50001
12 302 50002
13 303 50003
14 304 50004
Instead I would like to see this:
Column 11 12 13 14
-----------------------------------
ID 11 12 13 14
XID 301 302 303 304
Amount 50001 50002 50003 50004
*/
チェックアウト必要がない場合はPIVOT:https://technet.microsoft.com/en- us/library/ms177410(v = sql.105).aspx – Leonidas199x
これはあなたが望むものとは逆のものですが、 ldは正しい方向にあなたを誘導します。http://stackoverflow.com/questions/15931607/convert-rows-to-columns-using-pivot-in-sql-server –
PIVOTを使用すると、ID列のソース値が次のようになります。出力内の各IDの列を表しますが、残りのソース列を行として表すことはできません。私はPIVOTで私が欲しいものをする方法を見ることができません。 – RedRocketFire