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

时间:2012-08-12 01:45:29

标签: php mysql if-statement where

我有一个查询可以将用户拉入列表中。它列出了一个你可以“战斗”的人名单,你不应该自己打架,或者在你的“战队”中与某人战斗。

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

此查询“尝试”查看所选行的部落是否> 0“表示他们在一个战队中”,然后它应该看看他们是否与用户在同一个战队中。如果是这样,跳过那一行。而且,如果你不在战队中,你应该能够战斗其他人,而不是战队(0),这是没有价值的。

  • 不能自己打架
  • 或者你家族中的任何人

谢谢:)

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:0)

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

如果clanny不能战斗无人,只需在OR的第一部分添加检查clan = 0等等。