Вставка результата подзапроса IN в отдельные столбцы

У меня есть стол follower а также followee который содержит два user_id ценности.

user_idS отображаются на username и мне нужно получить соответствие user_idс поставляемого username,

Чтобы получить user_ids У меня есть запрос

SELECT user_id FROM user WHERE username IN (username1, username2)

Что я хочу сделать, это вставить эти значения в таблицу последователей, и я думаю, что я начну с

INSERT INTO followers (follower, followee) ( SELECT user_id FROM user WHERE username IN (username1, username2)
)

Тем не менее, этот запрос приводит к двум проблемам: 1) как я могу гарантировать, что правильный результат является подписчиком и подписчиком 2) как мне взять результат SELECT заявление и положить его в формате, который MySQL принимает в качестве значений для вставки?

1 ответ

Решение

Я не уверен, как устроены структуры ваших таблиц, но если username1 - это имя подписчика, а username2 - подписчика, этот запрос должен помочь вам:

INSERT INTO followers (follower, followee) 
SELECT follower.user_id, followee.user_id
FROM user AS follower 
INNER JOIN user AS followee ON (follower.user_id <> followee.user_id)
WHERE follower.username = username1
AND followee.username = username2
Другие вопросы по тегам