Sql server 2008 r2 我怎么能这样选择呢

Sql server 2008 r2 我怎么能这样选择呢,sql-server-2008-r2,Sql Server 2008 R2,此查询是有效的,但我无法基于此查询创建视图。请帮忙 正如murtaza所说,您可以为此创建一个存储过程,或者如果您想将其用作视图,您可以创建一个表值函数,您可以使用其他视图和联接 然后创建一个存储过程并在需要时使用。可能是u声明了一个变量,因此它不起作用。我对此不确定。是的,我正在使用MS SQL Server 2008 R2 Declare @Result as varchar(max)=''; SELECT DISTINCT @Result = dbo.MaterialTypes.

此查询是有效的,但我无法基于此查询创建视图。请帮忙

正如murtaza所说,您可以为此创建一个存储过程,或者如果您想将其用作视图,您可以创建一个表值函数,您可以使用其他视图和联接


然后创建一个存储过程并在需要时使用。可能是u声明了一个变量,因此它不起作用。我对此不确定。是的,我正在使用MS SQL Server 2008 R2
    Declare @Result as varchar(max)='';
SELECT DISTINCT @Result =  dbo.MaterialTypes.Title + ', '+ @Result
FROM         dbo.TempId LEFT OUTER JOIN
                      dbo.ProductMaterials ON dbo.ProductMaterials.Product = dbo.TempId.Id LEFT OUTER JOIN
                      dbo.MaterialTypes ON dbo.ProductMaterials.MaterialType = dbo.MaterialTypes.Id LEFT OUTER JOIN
                      dbo.Products ON dbo.Products.Id = dbo.TempId.Id
WHERE     (dbo.Products.IsCollection = 1)



SELECT DISTINCT dbo.TempId.Id AS MaterialCollection_id, @Result
FROM         dbo.TempId LEFT OUTER JOIN
                      dbo.ProductMaterials ON dbo.ProductMaterials.Product = dbo.TempId.Id LEFT OUTER JOIN
                      dbo.MaterialTypes ON dbo.ProductMaterials.MaterialType = dbo.MaterialTypes.Id LEFT OUTER JOIN
                      dbo.Products ON dbo.Products.Id = dbo.TempId.Id
WHERE     (dbo.Products.IsCollection = 1)