多場我players
表和host
領域,我也拿到了第二個表稱爲bans
具有以下字段:host
,second_host
,ip
。我需要檢查是否players
。 host
內容字段爲而不是等於bans
表中的這三個字段中的任何字段,其中一個條件爲:WHERE expiry >= UNIX_TIMESTAMP()
。檢查如果一個字段的內容是不是在其他表
我已經建立了這一個,但正如你所看到的,禁止表中有三個條件,現在我不知道該怎麼做。現在
SELECT * FROM players
WHERE host NOT IN (
SELECT host
FROM bans
WHERE expires >= UNIX_TIMESTAMP()
)
我不得不對其他三個領域(second_host
和ip
)這樣做。這可以在一個查詢中完成嗎?如果是這樣,請發表一個例子。
是啊,點很好,但是這個人是選擇'only'該禁止的玩家,而我想跳過選擇它們,到期時只選擇那些沒有被放逐(使低於UNIX_TIMESTAMP或禁止表中存在一行)。 – Cyclone
@Cyclone:看到我修改後的答案。 – eggyal
工程就像一個魅力,但我想添加另一個條件放逐permament,所以當'expires'設置爲'-1'時,它不會選擇我嘗試過的播放器:'AND bans.expires> = UNIX_TIMESTAMP ()或bans.expires = -1',但失敗(不在結果中選擇任何行)。你能否添加最後的條件? – Cyclone