sql - SQL - T-SQL Pivot 返回 NULL
问题描述
我的查询中有以下问题
基本上,旋转字段(VENDA_DIARIA)返回 null
SELECT
'SALES AVG BY DATE' AS Vlr_Medio_Vendas_Diario, [VENDA_DIARIA]
FROM (SELECT VENDA_VL_TOTAL, VENDA_DT_VEND FROM VENDA) AS VENDAS PIVOT (AVG(VENDA_VL_TOTAL) FOR VENDA_DT_VEND IN ([VENDA_DIARIA])) AS TB_PIVOT
VENDA 表中没有空字段。
文达表:
CREATE TABLE [DBO].[VENDA](
[VENDA_NR_ID] [NUMERIC](18, 0) IDENTITY(1,1) NOT NULL,
[VENDA_NR_CLIENTE] [NUMERIC](18, 0) NULL,
[VENDA_VL_TOTAL] [NUMERIC](17, 2) NULL,
[VENDA_DT_VEND] [VARCHAR](8) NULL,
[VENDA_NR_VEICULO] [NUMERIC](18, 0) NULL
)
文达的价值观:
INSERT INTO VENDA VALUES (10,17955.00 ,'20200915', 1 )
INSERT INTO VENDA VALUES (9 ,28405.00 ,'20200915', 2 )
INSERT INTO VENDA VALUES (8 ,32205.00 ,'20200915', 3 )
INSERT INTO VENDA VALUES (7 ,3800.00 ,'20200915', 4 )
INSERT INTO VENDA VALUES (6 ,22325.00 ,'20200915', 5 )
INSERT INTO VENDA VALUES (5 ,11400.00 ,'20200915', 6 )
INSERT INTO VENDA VALUES (4 ,19000.00 ,'20200915', 7 )
INSERT INTO VENDA VALUES (3 ,19000.00 ,'20200915', 8 )
INSERT INTO VENDA VALUES (2 ,19000.00 ,'20200915', 9 )
INSERT INTO VENDA VALUES (1 ,19000.00 ,'20200915', 10)
解决方案
您需要为结果中的每一列指定值:
SELECT
'SALES AVG BY DATE' AS Vlr_Medio_Vendas_Diario, [20200915]
FROM (SELECT VENDA_VL_TOTAL, VENDA_DT_VEND FROM #t) AS VENDAS
PIVOT (AVG(VENDA_VL_TOTAL) FOR VENDA_DT_VEND IN ([20200915])) AS TB_PIVOT
推荐阅读
- tensorflow - 如何将 L2 正则化添加到 ResNet50?如何解决过拟合的问题?
- java - Docker ARGs 不会在 docker 文件中被替换
- python - 如何获得居中滚动的意思?
- flutter - 使用控制器参数flutter时Flare Actor突然消失
- node.js - 如何在 Node Js 中写一些带胡子的东西
- python - 将自定义层的权重从 1D 分配到 2D
- reactjs - React.js 地图功能不使用 useState 显示值
- r - R - 由行连接的列字符串的所有成对组合
- java - Springboot:在同一项目中同时导入 spring-data-jdbc 和 spring-data-cassandra 时出现问题
- sql - Oracle SQL 多个别名为一个