|
Сложный запрос на выборку пар значений из одной и той же таблицы.
|
|||
---|---|---|---|
#18+
id user_id item_id 1 1 1 2 1 2 3 1 3 4 2 2 5 2 3 6 2 4 7 3 3 8 3 4 9 4 2 10 4 3 Имеется таблица orders, где user_id – id пользователя, item_id – id заказанного товара. Необходимо получить выборку пар товаров, которые заказывали разные пользователи, а именно такой результат: Item1 Item2 2 3 3 4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2017, 15:26 |
|
Сложный запрос на выборку пар значений из одной и той же таблицы.
|
|||
---|---|---|---|
#18+
indahouse-alx, Можно решить через INNER JOIN + unpivot, при этом учитывая что данных может быть ну очень много ограничить их. Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2017, 17:29 |
|
Сложный запрос на выборку пар значений из одной и той же таблицы.
|
|||
---|---|---|---|
#18+
ora601, Пользователь 1 и 2 купили одну одинаковую пару товаров. Эта пара состоит из товара 2 и 3. Пользователь 2 и 3 купили одну одинаковую пару товаров. Эта пара состоит из товара 3 и 4. Пользователь 3 и 4 НЕ купили ни одной одинаковой пары товаров. Ну и так далее... В конце нужно показать все уникальные пары и то из чего они состоят Чую что тут явно нужно построить декартово множество (и возможно не один раз) Например: SELECT a.item_id, b.item_id FROM Orders a, Orders b WHERE a.user_id != b.user_id AND a.item_id = b.item_id А вот дальше что делать ... Не пойму. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2017, 19:13 |
|
Сложный запрос на выборку пар значений из одной и той же таблицы.
|
|||
---|---|---|---|
#18+
indahouse-alxА вот дальше что делать ... Не пойму. При том что ты не знаешь что конкретно должно быть на выходе - что дальше делать это большой вопрос, да :P ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2017, 19:20 |
|
Сложный запрос на выборку пар значений из одной и той же таблицы.
|
|||
---|---|---|---|
#18+
indahouse-alx, Код: sql 1. 2. 3. 4. 5. 6.
т.к. нет надобности учитывать пару дважды далее, отвлекаясь от пж-ных особостей пока запишем через СТЕ Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
ну и т.п. -- на деле надо вместо сте каждый раз расписывать подзапрос. потом можно освободиться от юзеров и сделать группировку по товарам с подсчетом каунтов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2017, 19:28 |
|
|
start [/forum/topic.php?fid=53&fpage=76&tid=1996631]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 361ms |
total: | 490ms |
0 / 0 |