mysql如何比较同一个表中的两行?

Ton*_*ral 0 php mysql comparison

如果我重复这个问题,我很抱歉,但是,我找不到任何可以帮助我的事情.

无论如何,这是个问题:

我正在写一个约会应用程序,在这个应用程序中,我在共同感兴趣的部分窃听.

我的意思是,你有一个关于一个人的3个选择(你想与他/她约会吗?是的,也许,不).

所以,我创建了一个表,它可以保存您的userId,您想要约会的人,以及您的回复(是,否,或许).

有没有办法比较,如果你说是或可能,而另一个人说是或可能会返回像共同人的东西?

类似的东西(如果你说是或否,那个人说是或否则选择所有共同的人).

如果听起来很混乱,我很抱歉,但如果有疑问,我可以更好地解释.

我的英语没有帮助,但是......我是巴西人

Joh*_*Woo 6

像这样的东西,

SELECT  LEAST(a.UserID, a.PersonID) AS Person1,
        GREATEST(a.UserID, a.PersonID) AS Person2,
        a.Response
FROM    TableName a
        INNER JOIN TableName b
            ON  a.UserID = b.PersonID AND
                a.PersonID = b.UserID AND
                a.Response = b.Response
GROUP   BY Person1, Person2
Run Code Online (Sandbox Code Playgroud)

假设你有这样的记录,

????????????????????????????????
? USERID ? PERSONID ? RESPONSE ?
????????????????????????????????
?      1 ?        2 ? yes      ?
?      2 ?        1 ? yes      ?
?      3 ?        4 ? no       ?
?      4 ?        3 ? yes      ?
?      5 ?        6 ? maybe    ?
?      6 ?        5 ? maybe    ?
????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

查询的OUTPUT是

????????????????????????????????
? PERSON1 ? PERSON2 ? RESPONSE ?
????????????????????????????????
?       1 ?       2 ? yes      ?
?       5 ?       6 ? maybe    ?
????????????????????????????????
Run Code Online (Sandbox Code Playgroud)