Почему Group By не работает должным образом в PostgreSQL? - PullRequest
1 голос
/ 05 мая 2020

Я делаю запрос, и он показывает мне результат, но не так, как ожидалось. enter image description here

На изображении выше он дает мне две дополнительные строки (синий индикатор) после выполнения группы, которой не должно быть на выходе. Вот мой запрос

SELECT som.customer_po,
       pro.product_id,
       pro.product_name,
       som.mo_id,
       ri.status
FROM schema_order_map som
JOIN product pro ON som.label_reference_id = pro.product_id
JOIN risk_information ri ON som.customer_po = ri.customer_po
WHERE ri.created_by = 18
  AND ri.product_id = som.label_reference_id
GROUP BY som.customer_po,
         pro.product_id,
         product_name,
         som.mo_id,
         ri.status

Я пробовал другой способ, но он дает тот же результат.

1 Ответ

0 голосов
/ 05 мая 2020

Это как-то решает мою проблему. но я не знаю, это лучшая практика или нет

SELECT max(som.customer_po) AS customer_po,
       max(pro.product_id) AS product_id,
       max(pro.product_name) product_name,
       max(som.mo_id) mo_id,
       max(ri.status) AS risk_status
FROM schema_order_map som
JOIN product pro ON som.label_reference_id = pro.product_id
JOIN risk_information ri ON som.customer_po = ri.customer_po
WHERE ri.created_by = 18
  AND ri.product_id = som.label_reference_id
GROUP BY som.customer_po,
         pro.product_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...