Я этот запрос:Выполнения другого запроса на основе прецедентной ситуации
выходаSELECT r.runk_user_id,
CASE r.runk_user_id WHEN g.group_player1_user_id THEN 'player 1'
WHEN g.group_player2_user_id THEN 'player 2'
WHEN g.group_player3_user_id THEN 'player 3'
WHEN g.group_player4_user_id THEN 'player 4'
ELSE 'no player matches'
END AS player
FROM groups g
JOIN runks r ON g.group_id = r.runk_group_id
Это будет следующий результат:
Вместо вывод данных запроса, в результате мне это нужно для выполнения других запросов, основанных на том, каков результат утверждения этого случая.
Так что в случае «игрока 1» является случай требует, чтобы выполняться этот запрос:
UPDATE groups AS g1,
(SELECT (runk_image_rating_total + runk_caption_rating_total + runk_challenge_rating_total) as total, g.group_id
FROM groups g
JOIN runks r
ON g.group_id = r.runk_group_id) AS g2
SET g1.group_player1_standing = g2.total + g1.group_player1_standing
WHERE g1.group_id = g2.group_id
В случае «игрока 2» это необходимо, чтобы получить казнены:
UPDATE groups AS g1,
(SELECT (runk_image_rating_total + runk_caption_rating_total + runk_challenge_rating_total) as total, g.group_id
FROM groups g
JOIN runks r
ON g.group_id = r.runk_group_id) AS g2
SET g1.group_player2_standing = g2.total + g1.group_player2_standing
WHERE g1.group_id = g2.group_id
Этот какие таблицы выглядит следующим образом:
Etc и т. Д. Может ли кто-нибудь сказать мне, как это сделать?
Спасибо! Но запрос возвращает ошибку: # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с WHERE g1.group_id = g2.group_id И проигрыватель IN (player_1, player_2) 'по строке 9 –
@ RutgerHuijsmans обновил мой ответ, забыл поставить END часть. – Nick
Получение этой ошибки сейчас: # 1054 - Неизвестный столбец 'player' в 'where clause' –