如何将两个表中的数据插入到一个表中

时间:2014-10-14 12:39:16

标签: sql

我需要将两个表中的值插入一个表中。例如,表1是向外的,表2是产品表。我需要在外表中插入值,从产品表中我需要将productname插入到外表中。我的代码是

INSERT INTO tbltrn_outward, tbltrn product(chalanno,godownsrno, igodownsrno,deladdress,outwarddate,productname,qty,boxes,rate,price,batchcombo,active,createdby,createdon,fyearsno) 
VALUES('$chalanno','$godownsrno','$igodownsrno','$deladdress','$outwarddate','$productname','$qty','$boxes','$rate','$price','$batchcombo','$active','$createdby','$createdon','$fyearsrno')";

3 个答案:

答案 0 :(得分:1)

您应该为此目的使用insert into .. select from构造,如

INSERT INTO tbltrn_outward(col1,col2,col3, ...)
select col1,col2,col3,...
from  tbltrn_product

答案 1 :(得分:0)

有基本的:

INSERT INTO tbltrn_outward(chalanno, godownsrno, ... )
SELECT
   column1
   , column2
   , ...
FROM tbltrn_product

答案 2 :(得分:0)

有问题的语法不正确。

如果table1,table2中的字段是唯一的,table3包含table1和2的所有字段,

下面的查询将有所帮助:

INSERT INTO TABLE3 (SELECT * FROM TABLE1,TABLE2);

请参阅此处的小提琴:http://sqlfiddle.com/#!2/e3cc4/1

如果字段在table1和2中重叠,则查询将有所帮助:

INSERT INTO TABLE3 (SELECT TABLE2.FIELD1, TABLE1.FIELD2,
                TABLE2.FIELD3, TABLE2.FIELD4
                FROM TABLE1,TABLE2);

请参阅此处的小提琴:http://sqlfiddle.com/#!2/479f4/1