Ich habe zwei Tabellen, die die Produktinformationen von Type1 und Type2 und eine gemeinsame Tabelle, die Rate Informationen enthält.Union zwei Tabellen und XML in SQL Server konvertieren
Betrachten wir die folgenden Tabellenstrukturen
Tabelle # 1 Type1Product
:
Id Name TAX Model Class
___________________________________________________
GUID 1 Type1_Product_1 5 SUX XI
GUID 2 Type1_Product_2 5 SUX XII
GUID 3 Type1_Product_3 5 SUX X
GUID 4 Type1_Product_4 5 SUX XIII
Tabelle # 2 Type2Product
:
Id Name TAX Catalog
___________________________________________________
GUID 5 Type2_Product_1 5 IXM
GUID 6 Type2_Product_2 5 IXM
GUID 7 Type2_Product_3 5 IXM
GUID 8 Type2_Product_4 5 IXM
Tabelle # 3 Rate
:
Id ProductId Rate
___________________________________________________
GUID 11 GUID 1 15
GUID 12 GUID 2 25
GUID 13 GUID 3 33
GUID 14 GUID 4 11
GUID 15 GUID 5 5
GUID 16 GUID 6 8
GUID 17 GUID 7 2
GUID 18 GUID 8 4
Jetzt habe ich die folgende SQL-SELECT
Abfrage mit UNION
SELECT
t1.Id, t1.Name, rt.Rate
FROM
Rate rt
INNER JOIN
Type1Product t1 ON t1.Id = rt.ProductId
UNION
SELECT
t2.Id, t2.Name, rt.Rate
FROM
Rate rt
INNER JOIN
Type2Product t2 ON t2.Id = rt.ProductId
FOR XML PATH ('Product'), ELEMENTS, root ('Root')
Hinweis: GUID
ist eine eindeutige Kennung „GUID 1“ eine eindeutige Kennung darstellt, für ein leichteres Verständnis habe ich die die Schlüsselwörter wie „GUID 1“
ich erhalte Fehler während der Ausführung
falsche Syntax nahe dem Schlüsselwort ‚FOR‘.
Bitte helfen Sie mir.
Für xml * Arbeit wickeln mit nur einem einzigen Ergebnis eingestellt haben, können Sie CTE verwenden oder Unterabfrage .. –