Ich muss Daten als Ergebnismenge aus einer gespeicherten Prozedur ausgeben, wobei die Spalten meiner Quelldaten als Zeilen in der Ausgabe dargestellt werden. Ich sollte eine Zeile für jede Spalte in meiner Ausgabe sehen, die in meinen Quelldaten ist, und ich sollte eine Spalte in meiner Ausgabe für jede Zeile in meinen Quelldaten sehen. Ich sehe einfach nicht, wie ich das mit Pivot oder den anderen Methoden, die ich mir angeschaut habe, machen kann.Verschieben von SQL-Spalten in Zeilen
Sobald ich die Daten so ausgerichtet habe, wie ich es mag, stelle ich mir vor, ich werde sys.columns abfragen, um die Quelldatenspaltennamen als erste Spalte meiner Ausgabe einzufügen. Ich werde wahrscheinlich auch im Voraus die Quelldatenwerte abfragen müssen, die als Ausgabespaltennamen verwendet werden. Ich stelle mir einige großartige dynamische SQL in meiner Zukunft vor, aber ich kann das alles bei Bedarf selbst erledigen. Mir geht es hauptsächlich darum, wie man Spalten in Zeilen umwandelt. Siehe unten:
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
*/
Check out PIVOT Benötigen Sie: https://technet.microsoft.com/en- us/bibliothek/ms177410 (v = sql.105) .aspx – Leonidas199x
Dies ist das Gegenteil von dem, was Sie wollen, aber es ist shou ld lenken Sie in die richtige Richtung http://stackoverflow.com/questions/15931607/convert-rows-to-columns-using-pivot-in-sql-server –
Mit PIVOT können Sie den Quellwert für die Spalte ID zu verursachen stellen Sie für jede ID in der Ausgabe eine Spalte dar, aber Sie können nicht bewirken, dass der Rest der Quellspalten als Zeilen dargestellt wird. Ich kann nicht sehen, wie ich mit PIVOT machen soll, was ich will. – RedRocketFire