Вставить значения из запроса «group by» в другую таблицу - PullRequest
0 голосов
/ 25 января 2019
SELECT sku, sum(quantity)
FROM orders
WHERE "location" = 'Location - 1'
group by sku;

Возвращает 2 столбца:

Col1 = Sku
Col2 = суммы количества для каждого sku

У меня есть еще одна таблица, содержащая skus в Col1. Затем я хочу вставить в table2 значения из Col2, где Col1 = table2.col1 (соответствует файлам orders.sku и table2.sku, вставляет значение суммы для orders.sku)

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Похоже, вы действительно хотите UPDATE:

UPDATE table2 t
SET    col2 = o.sum_q
FROM  (
   SELECT sku, sum(quantity) AS sum_q
   FROM   orders
   WHERE  location = 'Location - 1'
   GROUP  BY sku
   ) o
WHERE  t.sku = o.sku
AND    t.col2 IS DISTINCT FROM o.sumq;

Последняя строка необязательна, но обычно рекомендуется избегать пустых обновлений. См:

0 голосов
/ 25 января 2019

Я думаю, вы хотели select insert, как этот:

insert into table2(sku, result)
select sku, sum(quantity) as result
from orders
group by sku;
...