sql从一个表插入两个表

ljsrvy3e  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(267)

考虑应用程序tinder和以下数字:

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

这意味着1和2匹配,3和5匹配,但不是4和1。现在回答我的问题。我目前在mysql数据库中有两个表。 User 以及 Likes . 哪里 User 有很多价值观,但是 id 是最重要的一个(图1)。 Likes 有两个值: user_id 以及 target_id (图2)。
我应该如何从 User 进入 Likes ? 这将导致 target_id 以及 user_idLikes 具有与相同的值 idUser . 我做得对吗?
我知道一个有一串列,另一个有两个列,这就是我无法理解的地方。

oyxsuwqo

oyxsuwqo1#

你的问题有点含糊。实际上我不知道你是想过滤掉那些没有配对的用户,还是只想把用户信息包含到“like”中。我想你应该找出哪些用户对彼此喜欢。为此,可以使用如下查询:

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

相关问题