sql-server - 'FOR' 附近的语法不正确
问题描述
以下代码不起作用 -
SELECT [LY-1],
LY = STUFF((SELECT ',' + name FROM temp1 FOR XML PATH ('')), 1, 1, '' )
FROM temp1
GROUP BY [LY-1];
因为它给出了以下错误-
消息 103010,级别 16,状态 1,第 73 行解析错误,第 2 行,第 36 列:“temp1”附近的语法不正确。
STUFF 和 FOR XML 是否不工作数据仓库?他们有什么选择吗?
解决方案
我不认为等号按你想要的方式工作。假设 LY 是计算列而不是表中已存在的列,则查询应为:
SELECT [LY-1],
STUFF((SELECT ',' + name FROM temp1 FOR XML PATH ('')), 1, 1, '' ) AS LY
FROM temp1
GROUP BY [LY-1];
要让 TSQL 创建计算列,您始终首先使用逻辑,然后为列命名。
推荐阅读
- curl - 如何知道 Google Apps 脚本的进度状态
- excel - 重新调整二维数组在循环的第二次迭代中给出错误 nº 9“下标超出范围”: - 无法找出原因
- python - 游戏在 Python Tic-Tac-Toe 游戏中不起作用
- python - SQLAlchemy 和 mysql 在并发请求上抛出错误
- node.js - 级联 onDelete 不适用于 sqlite knex
- javascript - Firebase FCM onMessage 触发但因未定义 showNotification 而失败
- react-native - 反应本机博览会初始化问题
- python - DataFrame行列转换优化
- python - 烧瓶文件线程'ValueError:关闭文件上的I / O操作'
- c# - 如何从 C# 代码将 *& 和 **& 参数传递给 C++ dll