You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL中PIVOT语法执行结果异常,无法输出预期PersonFK行数据问题求助

PIVOT查询问题排查与修复方案

核心错误

外层SELECT语句中硬编码了常量1、2、3作为输出列,没有引用PIVOT运算生成的[1]、[2]、[3]列,导致输出结果为固定数值,无法展示聚合后的PersonFK值。

隐性问题

RoleCode字段为nvarchar(100)字符串类型,WHERE条件中使用数值IN (1,2,3)进行匹配会触发隐式类型转换,存在索引失效、匹配异常的隐患,建议改为字符串格式匹配。

修正后SQL代码

SELECT RequisitionID,
   [1] AS One,
   [2] AS Two,
   [3] AS Three
FROM
(SELECT RequisitionID,
      RoleCode,
      PersonFK
  FROM RequisitionHiringTeam
  WHERE RoleCode IN ('1','2','3')) as src 
  PIVOT (
  max(PersonFK) 
  FOR RoleCode 
  IN ([1],[2],[3])
) as pvt
GO

逻辑说明

修正后查询会将同一个RequisitionID下,RoleCode为1、2、3对应的PersonFK值分别展示在One、Two、Three列中,若对应RoleCode无匹配数据则输出NULL,符合行转列展示PersonFK值的需求。

内容的提问来源于stack exchange,提问作者Madhusudan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:57:01