我在使用PIVOT SQL脚本时遇到了一个“小”问题。我目前的解决方案基于类似的问题 动态枢轴 .
我已经写好了PIVOT脚本,基本上没问题。然而,我的情况是这样的,脚本输出类似这样的内容,而不是将唯一的条目放在单行上
ListingEntryId Address Employees Location
1 NULL NULL Nottingham
1 Canal Street NULL NULL
1 NULL 3 NULL
2 NULL NULL London
2 Camden NULL NULL
2 NULL 12 NULL
而我所寻找的结果应该是这样的
ListingEntryId Address Employees Location
1 Canal Street 3 Nottingham
2 Camden 12 London
这是脚本
DECLARE @listingId INT = 1;
DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX)
SELECT LEV.ListingColumnId, LEV.ListingEntryId, LE.CreatedBy, LEV.EntryValue, LD.ColumnTitle, LD.[Index]
INTO #ListingTable
FROM ListingEntryValue LEV LEFT OUTER JOIN
ListingEntry LE ON LEV.ListingEntryId=LE.Id
LEFT OUTER JOIN
ListingDefinition LD ON LEV.ListingColumnId = LD.Id
WHERE LE.ListingId = @listingId;
SELECT * FROM #ListingTable;
SELECT @cols = STUFF((SELECT DISTINCT TOP 100 PERCENT ',' + QUOTENAME(LT.ColumnTitle) FROM #ListingTable LT
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1,1,'')
SELECT @cols;
SET @query = 'SELECT ListingEntryId,' + @cols + ' FROM (SELECT ListingEntryId, ListingColumnId, EntryValue, ColumnTitle, [Index] FROM #ListingTable LT) x
PIVOT (MAX(EntryValue) FOR ColumnTitle IN (' + @cols + ')
) p'
PRINT @query
EXECUTE(@query);
DROP TABLE #ListingTable
我将不胜感激一些可以帮助我解决这个问题的指示。我在这里做了一个小提琴,由于某种奇怪的原因,它没有输出任何东西,但生成架构的所有代码都在那里
将透视中的字段限制为仅需要的元素(X,Y,Value)
SET @query = 'SELECT ListingEntryId,' + @cols + ' FROM (SELECT ListingEntryId, EntryValue, ColumnTitle FROM #ListingTable LT) x
PIVOT (MAX(EntryValue) FOR ColumnTitle IN (' + @cols + ')
) p'
返回
ListingEntryId Address Employees Location
1 Canal Street 3 Nottingham
2 Camden 12 London
问题内容: 我有一张这样的产品零件表: 部分 我想要一个查询,将返回这样的表: 在其实际实施中,将有数百万个产品零件 问题答案: 不幸的是,MySQL没有函数,但是您可以使用聚合函数和语句对其进行建模。对于动态版本,您将需要使用准备好的语句: 请参见带有演示的SQL Fiddle 如果只有几列,则可以使用静态版本:
问题内容: 好吧,我有一张看起来像这样的表 现在,我需要将其转换为: 我一直在看动态透视图示例,但是我似乎无法使其适合我的情况。 有人可以帮忙吗? 问题答案: 看下面的例子
问题内容: 我正在使用Microsoft SQL Server Management Studio 2008。 我有看起来像这样的数据: 我希望结果显示如下: 这些列是未知的,所以我知道我需要一个动态查询。我已经尝试过使用数据透视功能进行动态查询,但只在相同类型的值下进行分组。所以聚合函数对我不利。 这是我尝试过的查询: 执行(@DynamicPivotQuery) 接下来,我添加了row_num
在libGDX Box2D中,我有一个DynamicBody“身体”和静态身体“锚”,它的关节从“枢轴关节点”开始,身体可以围绕“枢轴点”转动,工作完美(位置2)。 但我想把“身体”旋转到特定的角度,当模拟运行,重力=10等时,身体转向底部。当我点击一个按钮时,我想将身体转到“myNewAngle”位置,如图所示(位置1) 我的问题是,我的身体正在转动它的原点(位置3),我想把它转到枢轴点,我设置
问题内容: 这可能是一个简单的答案,但是我盯着它看了太久了… 我有以下查询,该查询将存储过程输入参数作为变量名并计算该表中的记录。我想将动态语句(@toStartStr)的结果检索到变量(@toStart)中。 现在,出现错误提示@toStart无法与字符串SELECT串联,但这是我想要的要点。有人可以看到我在做什么吗?还是建议替代方案?FYI SQL 2008 R2。谢谢。 问题答案: DECL
本文向大家介绍Microsoft SQL Server 简单枢轴-静态列,包括了Microsoft SQL Server 简单枢轴-静态列的使用技巧和注意事项,需要的朋友参考一下 示例 使用示例数据库中的项目销售表,让我们计算并显示每个产品的总销售数量。 使用group by可以很容易地做到这一点,但假设我们以某种方式“旋转”结果表,即对于每个产品ID,我们都有一个列。 由于我们的“新”列是数字(