使用MySQL在PHP中选择具有非禁止帐户的字符
我有两张桌子: 帐户[id,名称]和 字符[id、帐户id、名称] 实际上,我正在使用此查询选择所有字符:使用MySQL在PHP中选择具有非禁止帐户的字符,php,mysql,Php,Mysql,我有两张桌子: 帐户[id,名称]和 字符[id、帐户id、名称] 实际上,我正在使用此查询选择所有字符: SELECT * FROM characters 如果该字符的accountid被禁止或未使用相同的查询,如何从帐户中进行检查?我尝试使用连接查询(这看起来是最好的方式),但无法让它们工作。以下是我尝试过的: SELECT * FROM characters WHERE accounts.banned = 0 INNER JOIN accounts ON accounts.id = ch
SELECT * FROM characters
如果该字符的accountid被禁止或未使用相同的查询,如何从帐户中进行检查?我尝试使用连接查询(这看起来是最好的方式),但无法让它们工作。以下是我尝试过的:
SELECT * FROM characters WHERE accounts.banned = 0 INNER JOIN accounts
ON accounts.id = characters.accountid;
这表明没有结果。我做错了什么?
JOIN
应该在WHERE
子句之前
SELECT * FROM characters
INNER JOIN accounts ON accounts.id = characters.accountid
WHERE accounts.banned = 0;
您的查询是错误的。您正在使用
where
之前的join
。试试这个:
SELECT * FROM characters INNER JOIN accounts
ON accounts.id = characters.accountid WHERE accounts.banned = 0;
请参阅本手册了解加入:您可以尝试:
SELECT c.* FROM characters c,accounts a WHERE a.banned = 0 and a.id = c.accountid
@Alessandro:使用建议的内部查询