我在SQL Server中搜索GROUP_CONCAT
等效函数,我发现这两个选项是CROSS APPLY和STUFF。因为我希望concatenate
使用连接在计划表中sday
字段的那一天。这是我的数据库架构,请参考下面的照片。那么这个更好的方法是什么?
我尝试了STUFF
这样的功能,我得到了重复的记录:
答案 0 :(得分:3)
连接查询中的值没有问题。你可以看到它正确地带回了结果。另请注意,连接不是STUFF()
,而是FOR XML PATH('')
。
由于您在doctor
和schedule
之间进行内部联接,因此您获得了重复记录。其中一位医生的日程安排有4条记录。具体而言,列start_time
,end_time
和sstatus
是问题所在。您可能无法对它们进行分组,因为每个日程表的值都可能不同。
Tyou可以:
答案 1 :(得分:0)
您可能希望在MSDN上看到Group Concat函数的以下线程 http://social.msdn.microsoft.com/Forums/sqlserver/en-US/f09d4166-2030-41fe-b86e-392fbc94db53/tsql-equivalent-for-groupconcat-function?forum=transactsql
这四个条目是由于日程表必须在星期一,星期二,星期三和星期四有四个条目。检查您已应用的内部联接。