我有一张双人桌,桌上有些分数。
这样地

P1    P2    Score   Date
John  Mark  43      2011-01-01
Sinan Ash   53      2011-02-03
...
John  Suzie 34      2011-10-10
Ash   Sinan 54      2011-11-11
sinan suzie 42      2011-12-12
...

所以我想为西南和他的搭档得到所有的分数。
我想得到的是这样的东西:
partner - score
ash       53
ash       54
suzie     42

我试着用下面的查询来做。有没有比
select * from table WHERE P1 = 'sinan' OR P2 = 'sinan'

这有效吗?也许有更好的方法来存储数据。
有什么建议吗?

最佳答案

真正的诀窍是让搭档在p1和p2之间交替。最简单的方法可能是:

SELECT P2 AS partner, Score
    FROM table
    WHERE P1 = 'sinan'
UNION ALL
SELECT P1 AS partner, Score
    FROM table
    WHERE P2 = 'sinan'

09-30 23:11