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