ich eine dynamische Abfrage haben, die eine Zeile mit 62 Spalten in SQL holenWie horizontale Reihe in konvertieren vertikale
Die Abfrage ist wie dieser
DECLARE @SQLQuery AS nvarchar(max)
DECLARE @columns nvarchar(max)
SELECT
@columns = ISNULL(@columns + ', ', '') + QUOTENAME(Column_name)
FROM (SELECT
Column_name
FROM
(SELECT
Column_name,
ROW_NUMBER() OVER (PARTITION BY Column_name ORDER BY Column_name) AS Rows
FROM information_Schema.Columns
WHERE Table_Name IN ('Parking', 'AIV_Parking')
AND column_name NOT IN ('IssueNo', 'Issuedate', 'Agency', 'OfficerName', 'OfficerId', 'Beat', 'UNITSERIAL', 'VEHLICNO', 'VEHLICSTATE', 'VEHLICEXPDATE', 'VEHLICTYPE', 'VEHMAKE',
'VEHMODEL', 'VEHBODYSTYLE', 'VEHVIN4', 'VEHVIN', 'ISSUENOCHKDGT', 'VEHCOLOR1', 'VEHCOLOR2', 'PERMITNO', 'VEHLABELNO', 'LOCBLOCK', 'LOCSTREET', 'LOCDESCRIPTOR', 'LOCTRAVELDIR', 'LOCSIDEOFSTREET',
'LOCSUBURB', 'LOCLOT', 'LOCCROSSSTREET1', 'LOCCROSSSTREET2', 'LOCSTATE', 'LOCPOSTALCODE', 'METERNO', 'METERBAYNO', 'REMARK1', 'REMARK2')) p
WHERE Rows = 2) RequiredColumns
EXEC ('SELECT ' + @columns + ' FROM AIV_Parking Where Issueno =''100000600''')
Was mich
unter Aufzeichnungen gibtSo Ergebnis ist etwas wie unten, wo ich nur 1 Reihe auf einmal bekomme.
|ACTLINE1 | ACTLINE2 | AUTOPROC_UNIQUEKEY | COURTADDR| IssueNo|.......
|SUBIACO | LOCAL LAWS| NULL | NULL | 123 |
Jetzt möchte ich dies umgesetzt wie:
|FieldName | FieldValue
|ACTLINE1 | SUBIACO
|ACTLINE2 | LOCAL LAWS
|ISSUENO | 123
Während diese Spalte Schwenken ich nur die Spalten wollen, welchen Wert hat ich diese Spalte, deren Wert null oder ‚‘ nicht wollen
Vielen Dank für Ihre Antwort.Aber es funktioniert nicht, wenn ich die Abfrage einfügen, um Spalten zu erhalten, funktioniert es nicht – Khushboo
Lassen Sie mich Ihre Anfrage zu sehen! Sind Sie sicher, dass die von Ihnen eingegebene Abfrage korrekt ist? –
@ Khushboo, was meinst du mit nicht funktioniert? –