我已经继承了一个模式,我需要得到一些SQL的工作。这是显示一个产品变化,如跳线的颜色和尺寸变体。该模式对产品1个表:多次加入表的LINQ问题
表tbl_Product
[ProductID] [int],
[Quantity] [int],
[Title] [nvarchar](500),
[Description] [varchar](max),
[Price] [money]
等等
另一个表作为变化的链接表
表tbl_ProductVariation
[ProductVariationID] [int],
[ProductID] [int] ,
[VariationID] [int]
和变化表
表tbl_Variation
[VariationID] [int],
[VariationTypeID] [int] NOT NULL,
[USTitle] [nvarchar](150) NULL,
[UKTitle] [nvarchar](150) NULL
这样的变化值可以包含一种颜色或大小取决于variationtypeid
所以为什么这个查询失败?
SELECT [t4].[ProductVariationID], [t5].[UKTitle] AS [Size],
[t6].[UKTitle] AS [Colour], [t0].[Title]
FROM [dbo].[tbl_Product] AS [t0]
INNER JOIN [dbo].[tbl_ProductCategory] AS [t1]
ON [t0].[ProductID] = [t1].[ProductID]
INNER JOIN [dbo].[vw_ProductImage] AS [t2]
ON [t0].[ProductID] = [t2].[ProductID]
INNER JOIN [dbo].[tbl_Brand] AS [t3]
ON [t0].[BrandID] = [t3].[BrandID]
INNER JOIN [dbo].[tbl_ProductVariation] AS [t4]
ON [t0].[ProductID] = [t4].[ProductID]
LEFT OUTER JOIN [dbo].[tbl_Variation] AS [t5]
ON [t5].[VariationID] = [t4].[VariationID]
LEFT OUTER JOIN [dbo].[tbl_Variation] AS [t6]
ON [t6].[VariationID] = [t4].[VariationID]
INNER JOIN [dbo].[tbl_Category] AS [t7]
ON [t1].[CategoryID] = [t7].[CategoryID]
WHERE ([t5].[VariationTypeID] IN(2))
AND ([t6].[VariationTypeID] IN(1))
它是如何“失败”?错误信息? –