mySql查询中间表

时间:2016-07-21 20:24:08

标签: php mysql

我试图找出两个用户之间是否存在对话,但我无法想象如何在mysql中查询它。

我的表是:

users
-----
id
name

conversations
-------------
id

conversation_user
-----------------
user_id
conversation_id

例如,我有两个用户和一个对话,所以在我的conversation_user表中我有

user_id    conversation_id
1          1
2          1

如何检查这种关系是否存在?

提前谢谢。

2 个答案:

答案 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。它显示了一个带来用户名称的示例和一个按对话过滤的示例。