ich auf einer Abfrage arbeite, die auf JOIN Verbände basierend 2 Spalten aus verschiedenen Tabellen bekommt:JOIN Zeichenfolge in Spalte Zellen ändern
SELECT DISTINCT co.item_name
,SUBSTRING((
SELECT ',' + ca.attr_val AS [text()]
FROM [CONTRACT_ATTR] CA
WHERE CA.Item_Id = CO.Item_Id
AND ca.field_id = 239
ORDER BY co.item_name
FOR XML PATH('')
), 2, 1000) GM_PROG
FROM [dbo].[CONTRACT] CO;
Die zweite Spalte hat Zahlen und die Zahlen sind der Schlüssel in einer Nachschlagetabelle.
Ich versuche, herauszufinden, wie die Zahlen in die richtige item_name zu ändern.
Ich glaube, es hat mit der Abfrage in der Teilkette zu tun:
SELECT ','+ca.attr_val AS [text()]
FROM [CONTRACT_ATTR] ca
JOIN GM_PROGRAM gm
ON ta.GM_PROG = gm.item_id
WHERE CA.Item_Id = CO.Item_Id
AND ca.field_id = 239
ORDER BY co.item_name
FOR XML PATH ('') ta
), 2, 1000) GM_PROG
Dies ist, wo ich bin. Ich laufe nicht und ich denke, das ist, weil es versucht zu verweisen.
Was mache ich falsch und wie repariere ich es?
I Ich bekomme das. Ungültiger Spaltenname 'GM_PROG'. Msg 4104, Ebene 16, Status 1, Zeile 18 Die mehrteilige Kennung "ga.item_name" konnte nicht gebunden werden. Msg 4104, Ebene 16, Status 1, Zeile 24 Die mehrteilige Kennung "ga.item_name" konnte nicht gebunden werden. –
@DavidTunnell Mein schlechtes, das hätte 'gm' statt' ga' sein sollen. Ich habe den Alias falsch gelesen. - aktualisierte meine Antwort, um es zu korrigieren – SqlZim
Kein Problem. Ich schätze die Hilfe sehr. Mit dem Update sieht es jetzt nur noch das 1. Problem aus: Ungültiger Spaltenname 'GM_PROG'. Vielleicht, weil es erstellt wurde und keine "echte" Spalte ist? –