[英]Select all except one field in SQL
我想創建一個函數,該函數在數據庫中選擇所有具有其屬性的字符,但執行該函數的字符除外,並且由於我是SQL新手,所以我想知道是否有一種方法可以做到這一點: SELECT * FROM 'table name' EXCEPT 'the character executing the function'
。
例如,如果一個角色扮演游戲中的玩家想要攻擊某人,我想將他可以攻擊的其他玩家的整個列表放到數據庫中。 但是,如果我SELECT * FROM 'table name'
,他將在列表中,我不希望他攻擊自己...
我在Google上搜索,但在這里我只找到了選擇除列以外的所有內容的解決方案,但我希望將其用於字段。
謝謝閱讀。
您必須添加一個where子句:
SELECT * FROM 'tableName' WHERE characterId != 5
5是執行功能的字符的ID
我建議您使用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
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.