SQL Получение первого значения из столбца и дублирование его в новом столбце - PullRequest
0 голосов
/ 26 февраля 2020

enter image description here

Привет, ребята, прежде всего спасибо за чтение и за вашу потенциальную помощь. Я новичок в стандарте SQL, и я пытаюсь что-то сделать, но я застрял. Как вы можете видеть на картинке, у меня есть несколько продуктов с одинаковым item_group_id. Для этих продуктов я хочу взять значение FIRST declinaison и передать его другим продуктам, имеющим тот же item_group_id в новом столбце.

, чтобы быть более понятным, я приведу пример для продуктов, которые я окружил. Вот что я пытаюсь получить:

sku    Declinaison                         item_group_id  NEW_COLUMN
195810 ...multi dimensional sophistiqué_10 P195800        ...multi dimensional sophistiqué_10 
195820 ...multi dimensional sophistiqué_20 P195800        ...multi dimensional sophistiqué_10 

Большое спасибо за вашу помощь

1 Ответ

0 голосов
/ 26 февраля 2020

Для достижения этой цели можно использовать предложение JOIN, чтобы дважды ссылаться на одну и ту же таблицу. Однако такой подход не рекомендуется , поскольку он вычисляет намного больше строк, чем необходимо.

Использование analyti c функции , такой как FIRST_VALUE - рекомендуемый подход:

SELECT
  sku, declinaison, item_group_id,
  FIRST_VALUE(declinaison) OVER (PARTITION BY item_group_id ORDER BY sku) AS NEW_COLUMN
FROM
  TABLE_NAME
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...