2016-09-23 3 views
0

Я хотел бы сделать вставку с помощью выбора, а затем вставить несколько строк на возвращаемое значение из вспомогательного запроса, напримерВставка нескольких строк на вложенный запрос в MySQL

INSERT INTO t1 (column1, column2, column3) 
SELECT column1_value,5,10 FROM t2; 

бы вставить 5 в Столбец2 для каждой строки и 10 в каждую строку для столбца три. Есть ли в любом случае, что я могу передать несколько значений здесь, чтобы получить одну строку с 5 в столбце 2 и другую строку с 7 на запись, полученную из выбора из t2?

+0

объяснить логику, что нужно для mullple значения ..show правильного образца данных – scaisEdge

ответ

0

Использование UNION

INSERT INTO t1 (column1, column2, column3) 
SELECT column1_value, 5, 10 FROM t2 
UNION ALL 
SELECT column1_value, 5, 7 FROM t2 

Вы также можете присоединиться к UNION

INSERT INTO t1 (column1, column2, column3) 
SELECT t2.column1_value, 5, t3.column3_value 
FROM t2 
CROSS JOIN (SELECT 10 AS column3_value 
      UNION 
      SELECT 7 AS column3_value) AS t3 
Смежные вопросы