我正在從我的players
表中選擇所有內容,然後我想檢查是否在具有條件的其他表中設置了播放器id
或播放器name
。使用其他表的條件添加結果列
我得到了兩張表 - players
和shop
。
shop
具有以下列:uid
,dateline
,from
,done
。
正如我所說的,我是從players
表中選擇的一切,現在我要額外列添加到名爲was_shopping
的結果,這將是1
時players
。 id
或players
。 name
是在shop
和shop
的某個地方。 dateline
高於我給出的變量。
只是要確保你正確地明白了一切它應該是這樣的(它不是一個查詢,它只是一個字,例如應如何查詢作品):
SELECT *
FROM players
WHERE (players.id OR players.name)
IN (
SELECT `uid` AND `from`
FROM `shop`
WHERE `dateline` >= xxxxx
)
如果players
。 id
或players
。 name
將在shop
之內。 uid
或shop
。 from
與dateline >= xxxxx
它應該在結果中增加另一列:was_shopping
-1
或0
(如果在shop
表中發現則爲1,如果未找到,則發現0)。
如果你不明白一個詞,請發表評論。
問題是我不能將它連接到'p.id = s.uid',因爲'p.id'完全不同於's .uid',所以它應該檢查是否有商店'uid'或'from'與玩家'id'或'name'具有相同的值。 – Cyclone
什麼是id,uid,name和from的數據類型? –
id是int(11),uid是int(11),name是varchar(255),from是varchar(255)。 – Cyclone