SQL查询没有返回预期的结果

问题描述:

我有一个表DelieveryCalendarMaster的数据是这样的:SQL查询没有返回预期的结果

enter image description here

现在我选择记录与此查询:

select * 
from [dbo].[DelieveryCalendarMaster] 
for json auto 

它返回一个JSON的结果看到这里:

enter image description here

我要合并在同一天的对象,像这样:

enter image description here

+2

如何要合并?其余领域会发生什么?您可以通过在SQL中使用“GROUP BY”语句来实现该目标。但是,您仍然需要决定如何汇总相应的数据。 –

+0

我尝试过,但无法实现输出 –

也许这样的事情。因此,使用GROUP BYJSON子查询。

SELECT t1.date, 
     (
     SELECT t2.id, t2.TimeSlot 
     FROM DelieveryCalendarMaster t2 
     WHERE t2.date = t1.date 
     FOR json auto 
    ) as 'row' 
FROM tab DelieveryCalendarMaster t1 
GROUP BY t1.date 
FOR json auto 

实际上,它会返回该行阵列阵列封装,然而,it is not recommended在阵的情况下将其删除。

你可以试试这个,它会帮助你。

SELECT [Date], 
    (SELECT [Date],[TimeSlot],[Availability],[DisplayText] 
    FROM [dbo].[DelieveryCalendarMaster] a 
    WHERE a.[Date] = e.[Date] 
    FOR JSON AUTO 
    ) as Slots 
FROM [dbo].[DelieveryCalendarMaster] e 
Group BY e.[Date] 
FOR JSON PATH, ROOT ('Dates')