2016-09-23 52 views
0

我想使用選擇執行插入,然後從例如子查詢插入每返回值的多個行插入每子查詢的多個行中的MySQL

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

將插入5到列2的每一行和第三欄每行10個。無論如何,我可以在這裏傳遞多個值來獲得第2列中的5個行和另一個行中每個記錄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