Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将行转换为列SQL Server 2012_Sql Server - Fatal编程技术网

Sql server 将行转换为列SQL Server 2012

Sql server 将行转换为列SQL Server 2012,sql-server,Sql Server,我有一个查询,它返回一组记录它的配方信息。我的问题是 SELECT distinct RIG.RecipeNumber, RIG.Serving_Size_Yield_Quantity as 'Recipe Yield', RCS.Description as 'Serving Size', rcs.Quantity as 'Quantity to Serve', mri.MenuCountType_Description FROM RecipeIngredientInfo RIG J

我有一个查询,它返回一组记录它的配方信息。我的问题是

    SELECT distinct RIG.RecipeNumber,  RIG.Serving_Size_Yield_Quantity as 'Recipe Yield', RCS.Description as 'Serving Size', rcs.Quantity as 'Quantity to Serve',
mri.MenuCountType_Description
FROM RecipeIngredientInfo RIG JOIN RECIPE_SERVINGSIZE RCS ON
RIG.RECIPE_RECID = RCS.RecipeID  
JOIN MenuRecipeInfo MRI ON MRI.RecipeID =  RIG.RECIPE_RECID
WHERE MenuCountType_Description is NOT NULL AND RIG.RecipeNumber ='___  900324'
Order By RecipeNumber
查询返回的格式如下:

我希望数据采用以下格式:按RecipeNumber分组,服务大小,然后MenuCountType_描述应为列

获取MenuCountType_描述的查询是:

select DISTINCT MenuCountType_Description
from MenuRecipeInfo WHERE MenuCountType_Description IS NOT NULL

我想我已经接近这个问题了

SELECT 
    *
    from
    (
    SELECT distinct RIG.RecipeNumber,  RIG.Serving_Size_Yield_Quantity as 'Recipe Yield', RCS.Description as 'ServingSize', rcs.Quantity as 'Quantity to Serve', 'X' flag,
    mri.MenuCountType_Description
    FROM RecipeIngredientInfo RIG JOIN RECIPE_SERVINGSIZE RCS ON
    RIG.RECIPE_RECID = RCS.RecipeID  
    JOIN MenuRecipeInfo MRI ON MRI.RecipeID =  RIG.RECIPE_RECID
    WHERE MenuCountType_Description is NOT NULL AND RIG.RecipeNumber ='___  900324'
    ) SRC
    pivot
    (
    max(flag)
    for MenuCountType_Description in ([LYFE], [Grades 6-8], Supper,Snack, Employees, [Adults/Visitors], [Grades K-8], [Grades 9-12])
    ) piv;

这里发生了两件事。首先,您希望透视数据,但也希望将值作为列标题。这两个问题在这里都得到了无数次的回答。从数据透视开始,然后以您想要的方式获取列标题。我没有在SQL上做过很多工作,因此需要任何帮助。。请帮帮我,我在这一点上所做的一切都是为你做的,对你没有帮助。你试过什么?你在这个网站上搜索过sql server pivot吗?我已经浏览了pivot,但我看到了使用聚合函数的示例,例如发票金额之类的。。。我不能申请任何帮助请…我急需请…看起来你很接近了。很高兴你收到了。