SQL INSERT INTO две таблицы из одной таблицы - PullRequest
0 голосов
/ 29 мая 2018

Рассмотрим приложение 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_id из Likes будут иметь те же значения, что и id из User.Я даже делаю это правильно?

Я знаю, что у одного есть куча столбцов, а у другого два, и это то, где я больше не могу понять.

SQL ID

User_id, target_id

1 Ответ

0 голосов
/ 29 мая 2018

Ваш вопрос довольно расплывчатый.На самом деле я не знаю, хотите ли вы отфильтровать непарных пользователей или просто хотите включить информацию о пользователях в «Мне нравится».Я думаю, вы хотите найти, какие пары пользователей нравятся друг другу.для этого вы можете использовать такой запрос:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...