Например, рассмотрим таблицу со столбцами, как показано ниже, как я могу получить отдельную комбинацию из 2-х кортежей на основе значений в user
, суммируя атрибут score
каждой пары?
user | score
-------------
Tom | 13
Sam | 7
Larry | 66
Diana | 29
Ожидаемый результат:
user1 | user2 | total_score
---------------------------
Tom | Sam | 20
Tom | Larry | 79
Tom | Diana | 42
Sam | Larry | 73
Sam | Diana | 36
Larry | Diana | 95
Я думаю, вы хотите, чтобы какой-то cross join
:
select t1.name, t2.name, (t1.score + t2.score) as total_score
from t t1 join
t t2
on t1.name > t2.name;
t1.name > t2.name
! Спасибо за идею, попробую это.join
сcross join
иon
с ,where
, если это ANSI SQL? (Я все еще изучаю SQL и использую MySQL для тестирования, но хотел бы знать, как обстоят дела с другими базами данных. Спасибо!)