ОБНОВИТЬ все записи из существующего запроса SELECT - PullRequest
0 голосов
/ 17 мая 2019

У меня есть запрос для выбора данных из связанных таблиц.

SELECT 
    s.id,
    CASE
       WHEN count(DISTINCT e.id) <> 0 
          THEN count(DISTINCT o.id) / count(DISTINCT e.id)
    END OrdersAverageNumber
FROM
    [School] s
JOIN 
    [SchoolStore] ss ON ss.SchoolId = s.Id
JOIN 
    [Event] e ON e.SchoolId = ss.SchoolId
              AND e.IsDeleted = 0
              AND e.Status = 1
              AND e.Date >= @startDate
              AND e.Date <= @endDate
JOIN 
    [Order] o ON o.EventId = e.id
              AND o.OrderStatus = 1
              AND o.CreatedDate >= @startDate
              AND o.CreatedDate <= @endDate
GROUP BY 
    s.id;

Но я не могу понять, что мне нужно изменить, чтобы обновить все OrdersAverageNumber записей в таблице School со значениями из выбора выше.

1 Ответ

3 голосов
/ 17 мая 2019

Вы можете использовать update:

with q as (< your query here >)
update s
    set OrdersAverageNumber = q.OrdersAverageNumber
    from school s join
         q
         on s.id = q.id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...