Nicht zu verwenden von order by-Klausel mit for xml path richtig(Sql server)
Habe ich die situation unter (sagen tblRecord)
ID RowNum Data
1 1 and seventy nine
1 2 five hundred
1 3 two thousand
Brauche ich die Ausgabe
ID Data
1 two thousand five hundred and seventy nine
Habe ich die folgenden Abfrage
select ID , Data =
( Select ' ' + cast(Data as varchar(max)) from tblRecord t2
where t2.RowNum= t1.RowNum
and t2.ID =t1.ID
order by t1.RowNum
for xml path(''))
from tblRecord t1
group by t1.ID
Aber die Ausgabe ist
ID Data
1 five hundred two thousand and seventy nine
Hilfe braucht.
Dank
InformationsquelleAutor eshweeer | 2010-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Ihre erste problem war die
ORDER BY t1.RowNum
in die innere select - mussORDER BY t2.RowNum
statt. Zweitens: diese join-Bedingungwhere t2.RowNum= t1.RowNum
ist nicht notwendig und führt zu Problemen. Und drittens: dieGROUP BY
ist wieder weder nötig noch hilfreich - nutzen Sie einfach denSELECT DISTINCT
zu erreichen, was du bist suchen für.Auch - nicht sicher, warum Sie sind casting
Data
als VARCHAR(MAX) ???InformationsquelleAutor marc_s