Ich versuche, eine Stuff-Abfrage mit einem UPDATE und INNER JOIN ohne Erfolg zu verwenden. Ich muss die Ergebnisse einer Abfrage in eine Spalte/Zeile stopfen und eine andere Tabelle mit diesem Ergebnis aktualisieren.Kombiniere UPDATE mit INNER JOIN und STUFF Funktion
Mein aktueller Code ist dies.
Update t1
SET t1.col1 = t2.ordernotes
FROM db.dbo.table1 t1
INNER JOIN
STUFF((
(Select order_no, Notes As ordernotes
FROM db.dbo.table2
GROUP BY order_no
ORDER BY TimeStamp
FOR XML PATH('')
),1,1,'')
As t2
ON t2.order_no = t1.order_no
Die Abfrage in der inneren liefert folgendes Ergebnis
Order_no | OrderNotes
1234 | Note 1
1234 | Note 2
1234 | Note 3
Das gewünschte Ergebnis dieser Verknüpfung ist und dann in die Tabelle aktualisiert 1
Order_no | OrderNotes
1234 | Note 1, Note 2, Note 3
Sie für die Lösung danken. Ist es immer noch am besten, 'type' zu verwenden, obwohl die Spalte in beiden Tabellen bereits auf nvarchar (max) gesetzt ist? –
@DesHutch. . . Ja. Bei 'TYPE' geht es darum, den Wert aus XML zu extrahieren. Damit können Zeichen wie "<" and ">" problemlos durchlaufen werden. –