SQL - Как получить максимальное значение из таблицы и добавить его в другую (sqlite3) - PullRequest
0 голосов
/ 14 января 2020

Как и в заголовке, как я могу получить значение maximun из одной таблицы и добавить его в поле в другую таблицу из той же базы данных:

У меня сейчас есть моя основная таблица "пользователи ":

имя пользователя | пароль | Электронная почта | Рейтинг 1 | Рейтинг 2 | Рекорд 3 |

У меня также есть другие мои таблицы:

"user_scores1":

имя пользователя | Оценка 1 |

"user_scores2":

имя пользователя | Счет 2 |

"user_scores3":

имя пользователя | Счет 3 |

  • В таблицах "user_scores" содержатся все оценки всех пользователей (для 3 различных режимов игры), когда они играют. Всякий раз, когда пользователь заканчивает игру для определенного игрового режима, в новую строку добавляется новый счет, а также имя пользователя, связанное с ним, в таблицу результатов для этого режима игры

  • Я хочу отфильтровать все оценки пользователя (например, user1), а затем получить их наивысшие оценки из режимов игры (например, отфильтровать все оценки user1 из таблицы user_scores1)

  • Таким образом, я хочу получить наивысший балл этого указанного пользователя c из этой указанной таблицы c и добавить его в основную таблицу "users" в соответствующем поле (например, как в предыдущем примере, отфильтровывая все оценки user1 из таблицы user_scores1, затем получить наивысшую оценку и добавить эту оценку в мою основную таблицу «users» в highscores1, где username - user1)

1 Ответ

0 голосов
/ 14 января 2020

Это то, что вы хотите?

update users
    set highscore1 = (select max(score) from user_scores1 us where us.username = users.name),
        highscore2 = (select max(score) from user_scores2 us where us.username = users.name),
        highscore3 = (select max(score) from user_scores3 us where us.username = users.name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...