у меня есть две таблицы
В таблице A есть два столбца, которые мне нужно использовать, а в таблице B есть множество столбцов, которые мне нужно заполнить общей информацией.
INSERT INTO gs_object_sensors(imei) SELECT imei FROM gs_user_objects WHERE user_id = '14'
Приведенный выше код работает и вставляет номер IMEI на основе предложения WHERE. Мне нужно включить вышеизложенное в следующую команду INSERT.
INSERT INTO table_name (imei, name, description, ...) VALUES (*IMEI*, Disconnect, Battery Disconnect, ...);
В приведенном выше операторе sql мне нужен IMEI из первого оператора SQL с дополнительным именем и описанием, который нужно добавить в таблицу B. IMEI — это информация о строке из таблицы A, а user_id — также из таблицы A, которая просто используется для WHERE пункт. Имя и описание будут константами, которых нет в таблице A.
INSERT INTO gs_object_sensors(imei) SELECT imei FROM gs_user_objects WHERE user_id = '14'
Я использовал этот код и вставил необходимую информацию из таблицы A, но мне нужно добавить дополнительную постоянную информацию в таблицу B.
да, вы можете выполнить внутреннее соединение после WHERE
, используя INNER JOIN
Пожалуйста, предоставьте в своем вопросе как образцы входных данных, так и ожидаемый результат в виде таблиц, см. также Как составить хороший пример Кроме того, не злоупотребляйте комментариями, чтобы изменить свой вопрос или поднять дополнительные вопросы. Задавайте только один вопрос одновременно. Отредактируйте свой вопрос, если вы пропустили некоторую необходимую информацию.
@nabin sademba Есть ли какая-то причина, по которой вы публикуете комментарий, а не ответ?
да @P.Salmon, я не хочу терять свою репутацию, просто получая отрицательное голосование от модеров, говорящих, что ответ полностью заполнен другим постом, сделанным много лет назад. Я удалил один из моих ответов, который был принят ОП и проголосован за него.
@P.Salmon просто проверяю, отклоняет ли кто-то вопрос или нет, а также пытаюсь помочь ОП о том, что я знаю об этом вопросе.
@nabinsademba Не могли бы вы удалить свои комментарии? Они бесполезны в любом случае. Напишите хороший ответ, объясните в нем свое решение и все. Почему вас волнует репутация? Это абсолютно бессмысленно. Мы должны сосредоточиться на помощи людям, а не на победе в гонке за репутацию.
«Имя и описание будут константами, которых нет в таблице A» — откуда они тогда берутся? Добавьте, пожалуйста, рабочий пример.
пример ЗАПРОСА для решения проблемы:
INSERT INTO gs_object_sensors (imei, name, description, status)
SELECT imei, 'Disconnect', 'Battery Disconnect', 'Inactive'
FROM gs_user_objects
WHERE user_id = '14';
где данные в кавычках 'Disconnect', 'Battery Disconnect', 'Inactive'
— это дополнительные константы, которые можно вставить в таблицу Б.
Шаги:
INSERT INTO table_name (imei, name, description, additional_column1, additional_column2)
SELECT imei, 'Disconnect', 'Battery Disconnect', additional_value1, additional_value2
FROM gs_user_objects
WHERE user_id = '14';
@nabinsademba, это отлично работает, спасибо. Есть ли способ добавить INNER JOIN в это, чтобы добавить третью таблицу C?