我有 2 个表:
帐户 [ID、姓名] 和字符 [ID、帐户 ID、名称]
实际上,我正在使用此查询选择所有字符:
SELECT * FROM characters
如何从帐户中检查该字符的帐户ID是否被禁止或未使用相同的查询?我正在尝试使用 JOIN 查询(这看起来是最好的方法),但无法让它们工作。这是我尝试过的:
SELECT * FROM characters WHERE accounts.banned = 0 INNER JOIN accounts
ON accounts.id = characters.accountid;
这不显示任何结果。我做错了什么?
您的查询是错误的。您正在使用where
之前join
.试试这个:
SELECT * FROM characters INNER JOIN accounts
ON accounts.id = characters.accountid WHERE accounts.banned = 0;
有关连接 : http://dev.mysql.com/doc/refman/5.7/en/join.html 的信息,请参阅本手册
JOIN
应该在WHERE
子句之前。
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