непонятна логика работы GROUP BY

добрый день,!

Если есть примеры с множественным использованием данных и от 2-х и более таблиц, буду признателен.
никак не могу понять как работает group by в PG

Написал запрос:

SELECT
orders.order_id,
orders.shop_id,
orders.user_id,
orders.order_cost,
orders.retail_outlet_warehouse_token,
left(orders.retail_outlet_warehouse_token, 3),
j.name_eshop,
j.id_ax,
j.name_ax,
j.quantity,
j.category,
j.price,
orders.customer_email,
orders.customer_phone,
orders.customer_name,
orders.customer_surname,
date(orders.order_date),
order_conditions.caption,
order_states.caption,
orders.responsible,
warehouse.name
FROM
imm.orders
INNER JOIN dictionaries.order_conditions ON (orders.order_condition = order_conditions.id)
INNER JOIN dictionaries.order_states ON (orders.order_state = order_states.id)
INNER JOIN imm.warehouse ON (orders.retail_outlet_warehouse_token = warehouse.token)
INNER JOIN imm.item ON j.id= (select orders.order_id, DISTINCT item.order_id from imm.item, imm.orders where item.order_id = orders.order_id GROUP BY order_id)
ругается syntax error at or near "DISTINCT"

для того чтобы использовать group by нужна функция агрегирования это я понял, а дальше непонятно как и что работает. Буду признателен за подсказку, спасибо!

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

SELECT orders.order_id,

SELECT orders.order_id, DISTINCT item.order_id FROM

1) "DISTINCT" должен стоять ровно после "SELECT"

j.id= (SELECT orders.order_id, DISTINCT item.order_id FROM

2) такой фокус у тебя не прокатит, во-первых, ты вытаскиваешь в подзапросе 2 поля, а сравниваешь его с одним. Во-вторых, вероятно, что подзапрос вернёт табличный результат, а не число, поэтому следует писать j.id IN (SELECT orders.order_id FROM...

Спасибо, Буду разбираться!

Спасибо, Буду разбираться!

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023