Mysql 如果两列相等,并且它们都大于一


Mysql IF two columns equal and if they are both greater than one

我有一个查询,可以将用户拉入列表。它拉出了一个你可以"战斗"的人的名单,你不应该能够与自己战斗,或者与"氏族"中的某人战斗。

 $select = mysql_query("SELECT id,username,clan FROM `users` WHERE username != '".$user['username']."' AND IF clan>0 THEN clan != ".$user['clan']."");

此查询"尝试"查看所选行的部落是否> 0"表示他们在部落中",然后它应该查看他们是否与用户位于同一部落中。如果是这样,请跳过该行。此外,如果您不在氏族中,您应该能够在不在氏族中与其他人作战(0),这是毫无价值的。

  • 打不过自己
  • 或您氏族中的任何人

谢谢:)

试试这个:

SELECT id,username,clan 
FROM `users` 
WHERE username != '".$user['username']."' 
AND (clan = 0 OR clan != ".$user['clan'].")"
SELECT id,username,clan 
FROM `users` 
WHERE username != '".$user['username']."' 
  AND (
    (clan != ".$user['clan'].") OR
    (clan = 0 AND ".$user['clan']." = 0)
  )
如果氏族

无法与无氏族战斗,只需在OR的第一部分添加检查氏族=0,依此类推。