Вставьте значения строки таблицы1 в столбцы таблицы2 в SQL - PullRequest
0 голосов
/ 12 февраля 2019

Я собираюсь написать запрос и подумал, может ли кто-нибудь мне помочь. Пожалуйста, посмотрите на приложенное изображение и в то же время позвольте мне рассказать вам краткий обзор моих требований.

*Снимок экрана 1003 * Table1 enter image description here

Снимок экрана Table2 enter image description here

In Table1, мы можем иметь максимум 4 и минимум 2 записи на пользователя в день.Если у пользователя 4 записи, то первая запись дня In Table1 перейдет в столбец Time1 в Table2 , секунда - в Time2 и так далее.Если у пользователя есть 2 записи в день, первая запись дня перейдет в столбец Time2 в Table2 , а вторая запись перейдет в столбец Time3 .Для справок прилагаются скриншоты таблиц.

Буду признателен за любую полезную ссылку или запрос

1 Ответ

0 голосов
/ 11 марта 2019

Используйте ROW_NUMBER () и разделите на UserID и упорядочите на TransactionDate, чтобы сгенерировать числа 1-4 или 1-2 для каждого пользователя.

Затем вставьте в таблицу 2 выражение CASE для каждого пользователя.из четырех временных столбцов.

CASE проверит подзапрос, чтобы получить MAX (RowNumber) для этого пользователя, а затем ВЫБЕРИТЕ соответствующую строку из таблицы 1 на основе логики, которую вы задали для двух случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...