SQL INSERT INTO一个表中的两个表

时间:2018-05-29 10:54:01

标签: mysql sql

考虑应用Tinder和以下数字:

(User_id, target_id)
(1,2);
(2,1);
(3,5)
(5,3);
(4,1);

这意味着1和2匹配,3和5匹配,但不是4和1。 现在我的问题。我目前在MySQL数据库中有两个表。 UserLikes。 其中User有一堆值,但id是重要值(图片1)。 Likes有两个值:user_idtarget_id(图片2)。

我应该如何处理从UserLikes列的数据?这会产生target_iduser_id的{​​{1}} Likes具有与id User相同的值。我是否正确地去了这个?

我知道一个有一堆列,另一个有两个,这是我无法理解的地方。

SQL ID

User_id, target_id

1 个答案:

答案 0 :(得分:0)

你的问题有点模糊。实际上我不知道你是否要过滤掉未配对的用户,或者你只是想将用户信息包含在“赞”中。我想你想找到彼此相似的用户对。 为此,您可以使用如下查询:

CREATE TEMPORARY TABLE LikeEachOther(
SELECT DISTINCT‌ L1.user_id, L1.target_id 
FROM Likes L1, Likes L2 
WHERE‌ L1.user_id = L2.target_id and L2.user_id = L2.target_id
);‌‌‌
SELECT *
FROM LikeEachOther LEO, User U1, User U2
WHERE U1.User_id = LEO.USer_id and U2.User_id = LEO.target_id