带where子句的透视sql查询
我有以下脚本来生成一个pivot输出,但是我有两个元素: 1-让输出显示输出,所有用户标识位于输出的左侧 2-在脚本中放入where子句,以限制输出。尝试了100种选择。任何帮助都将不胜感激带where子句的透视sql查询,sql,sql-server,pivot,where-clause,Sql,Sql Server,Pivot,Where Clause,我有以下脚本来生成一个pivot输出,但是我有两个元素: 1-让输出显示输出,所有用户标识位于输出的左侧 2-在脚本中放入where子句,以限制输出。尝试了100种选择。任何帮助都将不胜感激 SELECT 'invoices.USERID' AS totalvalue, [1], [2] FROM (SELECT invoices.USERID, [total],PAYERCODE FROM invoices where invoices.userid = 41 ) AS Source
SELECT 'invoices.USERID' AS totalvalue,
[1], [2]
FROM
(SELECT invoices.USERID, [total],PAYERCODE
FROM invoices
where invoices.userid = 41
) AS SourceTable
PIVOT
(
SUM([total])
FOR PAYERCODE IN ([1], [2])
) AS PivotTable;
所以我希望它看起来像是
在把我整个周末都搞砸之前,我非常感谢您的帮助。Y轴是一个字符串
'invoices.USERID'
并删除invoices.userid=41处的
SELECT USERID AS totalvalue,[1],[2]
FROM
(SELECT invoices.USERID, [total],PAYERCODE
FROM invoices
--where invoices.userid = 41
) AS SourceTable
PIVOT
(
SUM([total])
FOR PAYERCODE IN ([1], [2])
) AS PivotTable;
提供示例数据。当您筛选数据以仅包含userId41
时,为什么会期望结果中包含其他userId。删除final select中发票.USERID
周围的双引号。这将使编译器认为是字符串,而不是标识符。谢谢,这是一种享受。对不起,我想在发帖前把where去掉。我知道这一点。“”是问题所在。Cheers@HAS很高兴它有帮助