我已經繼承了一個模式,我需要得到一些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))
它是如何「失敗」?錯誤信息? –