我不确定如何将选择查询更改为更新。
选择查询是:
SELECT IF (strcmp( `player1`, `player2` ) >0, concat(player2, " - ", player1), pair) as GoodPair from scores
我想解决的问题是,对字段现在包含不同顺序的对名称。例如,对于同一对的“Bill - Dennis”和“Dennis - Bill”出现在不同的记录中,我希望对名称始终首先使用“较小”名称,以便我可以计算找到特定二人组的时间
如果需要更多信息,请与我们联系。
提前致谢。
壁立
答案 0 :(得分:0)
SELECT
CONCAT_WS(' - ', LEAST(payer1,player2), GREATEST(player1,player2)) as GoodPair
FROM
scores
我也更喜欢使用CONCAT_WS来使用分隔符而不是CONCAT来连接字符串,但在这种特殊情况下它是相同的。
要创建更新查询,我会使用:
UPDATE scores
SET
GoodPair = CONCAT_WS(' - ', LEAST(payer1,player2), GREATEST(player1,player2))
如果你只需要在播放器1大于播放器2的情况下与播放器2一起使用swith player1,你可以使用这个UPDATE查询:
UPDATE score
SET player1=LEAST(player1,player2),
player2=GREATEST(player1,player2)
WHERE
player1>player2
小提琴是here。