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

0

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

user_id сопоставлены с 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 примет в качестве значений для вставки?

  • 0
    Можете ли вы также предоставить некоторые образцы данных / ожидаемых, то я постараюсь.
Теги:
insert

1 ответ

1
Лучший ответ

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

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
  • 0
    Спасибо @David, я думаю, что я просто значительно усложнил ситуацию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню