我试图找出两个用户之间是否存在对话,但我无法想象如何在mysql中查询它。
我的表是:
users
-----
id
name
conversations
-------------
id
conversation_user
-----------------
user_id
conversation_id
例如,我有两个用户和一个对话,所以在我的conversation_user表中我有
user_id conversation_id
1 1
2 1
如何检查这种关系是否存在?
提前谢谢。
答案 0 :(得分:0)
试试这个:
let defaults = NSUserDefaults.standardUserDefaults()
let data = defaults.dataForKey("all_users")
var users = [Users]()
if data != nil {
let userData = NSKeyedUnarchiver.unarchiveObjectWithData(data!) as! [Users]
for usr in userData {
print("\(usr.name!)") // Prints the name
print("\(usr.user_id!)") // Nil value here
users.append(usr)
}
}
答案 1 :(得分:0)
你可以使用join:
SELECT
c1.*, c2.*
FROM
conversation_user c1
INNER JOIN
conversation_user c2
ON
c1.conversation_id = c2.conversation_id
WHERE
c1.user_id != c2.user_id;
你可以看一下这个更详细的SQLFiddle Example。它显示了一个带来用户名称的示例和一个按对话过滤的示例。