У меня есть таблица «пользователи» со столбцом «ID». Я хочу выбрать 2 разных «ID» на основе двух разных параметров и вставить их в другую таблицу, известную как «задания».
INSERT INTO jobs (customer_id, client_id) SELECT id, id from users WHERE username = ? AND username = ?
В основном я хочу получить идентификатор двух разных людей и вставить их в новую таблицу.
Я бы привязал параметры к?, И они выглядели бы как «john» и «steve». Я пробовал код выше, но я знаю, что это неправильный синтаксис. Любые идеи очень приветствуются. благодаря
Вы можете использовать самоподключение:
INSERT INTO jobs (customer_id, client_id) SELECT customer.id, client.id FROM users customer JOIN users client ON customer.username = ? AND client.username = ?
Или вы можете использовать подзапросы:
INSERT INTO jobs (customer_id, client_id) VALUES ( (SELECT id FROM users WHERE username = ?), (SELECT id FROM users WHERE username = ?) )
Ну, вы можете использовать подзапросы
INSERT INTO jobs (customer_id, client_id) VALUES ( (SELECT field from table where id = 2), (SELECT field from table2 where id = 12) )
Я не очень уверен в синтаксисе, так как я не тестировал, но я предполагаю, что он сможет его решить.
Я часто использую такие вещи в WHERE или в инструкции SELECT. Просто не забудьте вернуть в подзапросы одно поле и одну строку.