选择SQL中除一个字段外的所有字段

时间:2014-08-26 02:23:00

标签: php sql database select pdo

我想创建一个函数,在db中选择所有具有属性的字符,除了执行此函数的那个​​,因为我是SQL的新手,我想知道是否有办法要做到这一点:SELECT * FROM 'table name' EXCEPT 'the character executing the function'

例如,如果rpg游戏中的玩家想要攻击某人,我想将其他玩家的整个列表放入他可以攻击的数据库中。但是,如果我SELECT * FROM 'table name',他将在列表中,我不希望他自己攻击......

我在谷歌和这里搜索,但我只找到了除列之外的所有选择的解决方案,但我想要一个字段。

感谢阅读。

2 个答案:

答案 0 :(得分:2)

你必须添加一个where子句:

SELECT * FROM 'tableName' WHERE characterId != 5

5这里是执行函数的字符的ID

答案 1 :(得分:2)

我建议您使用sub query。获取已执行功能的所有名称&将这些名称保留在NOT IN中。有关信息,请保留执行该功能的名称的记录。 NOT IN示例

SELECT * FROM table_name WHERE name NOT IN (
     SELECT name FROM table_name_where_executed_name_stored WHERE executed = 1
)