sql - 如何在STUFF sql server里面使用where?
问题描述
所以我想在一列中显示多行数据,我发现在 sql server 上使用东西可以做到这一点。
但我被困在如何在东西查询中使用父字段的位置。
我尝试使用具有相同名称的父字段,但出现错误,并且我还尝试在父字段上使用别名但同样的错误。
SELECT
id_collector,
branch
= STUFF(
(
SELECT
', '+ a.group_branch_id
from AMAS.dbo.tbl_area_collector a
where id_collector = id_collector
for XML path('')), 1, 1, ''
)
from AMAS.dbo.tbl_area_collector GROUP BY id_collector
解决方案
限定查询中的所有列引用!然后您的查询更有可能在第一次工作:
SELECT tac.id_collector,
STUFF( (SELECT ', ' + tac2.group_branch_id
FROM AMAS.dbo.tbl_area_collector tac2
WHERE tac2.id_collector = tac.id_collector
FROM XML PATH('')
), 1, 1, ''
) as branches
FROM AMAS.dbo.tbl_area_collector tac
GROUP BY tac.id_collector;
推荐阅读
- python - Pandas read_csv low_memory 和 dtype 选项。TypeError:无法根据规则“安全”将数组从 dtype('O') 转换为 dtype('float64')
- c - 在 linux 内核中请求相对较大的大小时,无法从 `flex_array_alloc` 分配内存
- php - 如何根据 PHP 数据库中的结果在 jQuery 日期选择器上禁用一周中的某些天
- google-apps-script - Google Apps 脚本错误:服务在一天内使用了过多的计算机时间
- sql-server - 微软 SQL 服务器。varchar(非 nvarchar)数据类型列中的越南语符号
- spring - 使用 RedisQueueInboundGateway 进行多线程处理
- r - R:将数据框的一列与列表的每个元素进行比较
- java - 将 Spring JPA 规范应用于多个存储库和查询
- javascript - 如何使用 Lodash 的 unionBy 并合并嵌套数组?
- uwp - 创作经典 COM 组件与 Windows 运行时类相比是否有优势?