Вставка данных из одной таблицы в другую с условиями WHERE

у меня есть две таблицы

В таблице 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.

🤔 А знаете ли вы, что...
SQL используется для создания, изменения и управления данными в базах данных.


1
50
2

Ответы:

Решено

пример ЗАПРОСА для решения проблемы:

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' — это дополнительные константы, которые можно вставить в таблицу Б.


Шаги:

  1. Список всех столбцов. Определите и перечислите все столбцы, которые вам нужны. вставить данные в имя_таблицы.
  2. Выберите соответствующие данные: используйте оператор SELECT для получения Значения IMEI и включают постоянные значения для столбцов, которые не исходя из таблицы А.
  3. Соответствовать порядку столбцов. Убедитесь, что порядок столбцов в INSERT INTO соответствует порядок данных, возвращаемых инструкцией SELECT.
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';