このようなテーブルがあります。
event_id pair versus score
1 1 11 100
1 1 12 0
...
1 11 1 0
1 12 1 50
次に、同じ結果行で特定のペアの両方のスコアを取得します。お気に入り;
event_id pair versus score1 score2
1 1 11 100 0
1 1 12 0 50
何か案は?
あなたが常にペアを持っていると仮定すると、以下はあなたに望ましい結果を与えるはずです:
SELECT a.event_id ,a.pair,a.versus,
a.score as score1, b.score as score2
FROM table_name a
INNER JOIN table_name b on
(a.event_id = b.event_id and b.pair =a.versus and b.versus=a.pair and a.pair<b.pair)
サイドノート。
1。テーブルにサロゲート主キー列があることは理にかなっています。
2。ペアIDとして機能する列がもう1つある場合、クエリはかなりクリアに見えます(つまり、1-11と11-1の両方が同じpair_identifierを共有します)。
3。 a.pair<b.pair
結果セットの重複を避けるために追加されました