这表示涉及Bob的两对之间的交换表:
Pair1 pair2 exchanges
Bob Alice 12
Jack Bob 6
Max Bob 22
Bob Steve 100
想法是使用选择查询使Bob仅出现在pair1或pair2上,输出应如下所示:
Pair1 pair2 exchanges
Bob Alice 12
Bob Jack 6
Bob Max 22
Bob Steve 100
答案 0 :(得分:1)
这应该做您想要的:
SELECT
'Bob' AS pair1,
CASE
WHEN pair1 = 'Bob' THEN pair2
ELSE pair1
END AS pair2,
exchanges
FROM mytable
WHERE pair1 = 'Bob' OR pair2 = 'Bob'
查询使用CASE构造选择revelvant列。
答案 1 :(得分:0)
GMB的答案可能表现更好。但是,从逻辑的角度来看,我在思考:
select pair1, pair2, exchanges
from t
where pair1 = 'Bob'
union all
select pair2, pair1, exchanges
from t
where pair2 = 'Bob'