2017-08-03 3 views
0

Ich habe einen dieser Tage.Einfaches SQL-Pivot, das Null zurückgibt

ich die Daten versuche

ID | SplitString 
------------------- 
| 1 | ABC 
| 2 | ABC03082017 
| 3 | 03082017 
| 4 | 1 
| 5 | TestData 

in Spalten unten zu schwenken Bisher habe ich den Code unten, aber wenn ich es laufen, ist es nulls Rückkehr, die Spalten haben den richtigen Header aber die Daten sind alle Null.

select * 
from 
(
    select ID,splitData from dbo.fn_splitstring(@RawData_Header, '|') 
) src 
pivot 
(
    MAX(ID) for splitData in ([Identifier], [ProviderCode], [FileDate],[Code],[FileName]) 
) piv; 

Der erste Teil des Pivot-Skripts funktioniert ordnungsgemäß und gibt die obige Tabelle zurück.

EDIT **

Ich versuche, die Daten ähnlich wie das Bild unten

enter image description here

Danke für Ihre Hilfe

Noelle

+0

Was ist Ihre erwartete Ausgabe? –

+0

Dies gibt 'NULL' zurück, da in der Spalte 'splitData' keine Zeilen mit den Werten' [Identifier], [ProviderCode], [FileDate], [Code], [FileName] 'vorhanden sind. Was versuchst du zu erreichen? – Rokuto

+0

@Kannan Ich habe ein Bild der gewünschten Ergebnisse hinzugefügt. Danke – Noelle

Antwort

1

zurückzukehren Wenn Sie verwenden möchten, PIVOT, müssen Sie Ihren Code zu ändern:

select [1] AS [Identifier], [2] AS [ProviderCode], [3] AS [FileDate], [4] AS [Code], [5] AS [FileName] 
from 
(
    select ID,splitData from dbo.fn_splitstring(@RawData_Header, '|') 
) src 
pivot 
(
    MAX(splitData) for Id in ([1],[2],[3],[4],[5]) 
) piv; 

Lesen Sie mehr über PIVOT and UNPIVOT.

+0

Vielen Dank für Ihre Hilfe und die Links. Das hat perfekt funktioniert. Ich habe viel komplexere Pivots zu tun, als Teil dieser Funktionalität werden die Links eine große Hilfe sein. – Noelle

Verwandte Themen