2015-05-17 78 views
0

我正在面對數據庫的以下設計中的另一個問題。當數據在不同的行上時,使用Where子句檢索數據

假設這是一個聊天列表,以及屬於該聊天的另一個表,用戶。

ChatListDB

  1. ID
  2. last_message

ChatListUsersDB

  1. ID
  2. ChatListDB_ID
  3. UserToken

我想檢查一下,聊天這兩個用戶之間存在「TOKEN1」和「Token2」

我不能簡單地做一個查詢,並把WHERE子句中這兩種令牌,因爲它們是在不同的行明顯。

我想實現

我如何檢查是否可以說ChatListDB的ID是1234,我該如何檢查,如果這兩個令牌(TOKEN1 & Token2)已經在ChatlistUserDB具有相同ChatlistDB ID

什麼
+0

時間你總是可以使用計數,但對我來說,它有點模糊你想達到什麼,你可能會發布一些更多的信息? – lauw

+0

就像在我想要檢查兩個用戶之間是否存在聊天。 – CodeGuru

+0

我不能簡單地做一個Where - >(Token =「Token1」)和Where - >(Token =「Token2」) – CodeGuru

回答

1

,因爲我不知道究竟你理想的返回結果應該是什麼樣,你也可以用這個查詢一個簡單的真,假答案:

如果要查看是否存在數量超過2
SELECT if((SELECT count(*) FROM ChatListUsersDB WHERE (UserToken = nr1 OR userToken = nr2)) = 2, 'true', 'false') AS answer 
相關問題