我有两个表,其中包含类型1和类型2的产品信息,还有一个公用表,其中包含费率信息。
表#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
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
表#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
现在我有以下SQL
SELECT
使用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')
注:
GUID
是唯一标识符“GUID 1”表示唯一标识符,为了便于理解,我使用了“GUID 1”之类的关键字
我在执行时出错
请帮助我。