我正在 SQL Server 中搜索 GROUP_CONCAT
等效函数,我发现这两个选项是 CROSS APPLY和 STUFF 。因为我想使用连接来连接
日程表中sday
字段的日期。这是我的数据库架构,请引用下面的照片。那么解决这个问题更好的方法是什么?
我尝试了像这样的STUFF
函数,并且我得到了重复的记录:
最佳答案
连接查询中的值没有问题。您可以看到它正确地返回了结果。另请注意,进行连接的不是 STUFF()
,而是 FOR XML PATH('')
。
由于您在 doctor
和 schedule
之间进行了内部联接,因此您获得了重复的记录。其中一位医生有 4 份记录。具体来说,start_time
、end_time
和 sstatus
列是问题所在。您可能无法按它们进行分组,因为计划中每一天的值可能不同。
您可以:
- 不返回查询中的这些列,
- 或者也连接这些列。
关于sql - 交叉应用 VS STUFF 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22368965/