gpt4 book ai didi

mysql - 如何查看未与当前用户进行事件游戏的所有用户

转载 作者:行者123 更新时间:2023-11-29 19:44:10 24 4
gpt4 key购买 nike

我需要挑战当前用户尚未参与事件游戏的玩家。

我当前使用的表格如下:

Game {
game_id int primary key
player1 varchar(20)
player2 varchar(20)
game_status varchar(10)}


Account{
name varchar(20) primary key
password varchar(15)}

在“Game”表中,player1 和player2 都是account:name 的外键。我想要的是选择尚未完成的当前用户(登录的用户)游戏中的所有帐户:名称行(game_stasus = 'finished')。当前用户可能位于 game:player1 或 game:player2 下,这应该不重要。

我想知道你是否可以使用存在子查询轻松地做到这一点?老实说,我没有主意,希望你能帮助我。

最佳答案

您需要使用带有嵌套UNION子句的NOT IN查询,例如:

SELECT a.name 
FROM account a
WHERE a.name NOT IN (

SELECT player1
FROM game WHERE player2 = <current_user> AND game_status = 'active'

UNION

SELECT player2
FROM game WHERE player1 = <current_user> AND game_status = 'active'
)
OR NOT EXISTS (
SELECT * FROM game WHERE player1 = a.name OR player2 = a.name
);

关于mysql - 如何查看未与当前用户进行事件游戏的所有用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41153858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com