Я использую PostgreSQL, и у меня есть такая таблица, которая показывает пользователей, предметы и оценки за предмет, заданный пользователем (пользователь может дать более одного балла за определенный предмет):
name | item | score
---------+-----------+-------
user_1 | item_1 | 3
user_1 | item_2 | 2
user_1 | item_3 | 3
user_1 | item_4 | 4
user_1 | item_1 | 5
user_2 | item_1 | 5
user_2 | item_2 | 2
user_3 | item_3 | 1
user_4 | item_3 | 1
Я хочу сделать запрос, который 1) выбирает элементы, получившие одинаковый балл у двух разных пользователей, и 2) печатает результаты в следующей форме:
name1 | name2 | item | score
---------+----------+--------+-------
user_1 | user_2 | item_1 | 5
user_2 | user_1 | item_1 | 5
user_1 | user_2 | item_2 | 2
user_2 | user_1 | item_2 | 2
user_3 | user_4 | item_3 | 1
user_4 | user_3 | item_3 | 1
У меня нет 'Я даже близко не нашел решения.Как создать условие для выбора пользовательского столбца дважды, с разными значениями, в одну строку результатов на основе конкретного условия (в этом случае необходимо иметь общий элемент с одинаковым счетом).И как потом получить те же два пользовательских значения, но в другом порядке, для следующей строки.
Любая помощь будет очень признательна, спасибо!