将3个表合并为一个表并插入到数据库中


MERGING 3 TABLES INTO ONE AND INSERTING INTO DATABASE

我试图将3个表合并为我的数据库中的1。我的表名= table1 table2 table3我将数据插入到表4中每个表有code, team, p1, p2, p3

列它没有进入数据库。

我希望合并后的插入在数据库中看起来像这样:

代码、团队、名称1、名称2、名称3、名称4、名称5、名称6、名称7、名称8、名称9

这是我的表与列表1:名称1、名称2、名称3表2:名称4、名称5、名称6表3:名称7、名称8、名称9

这是我到目前为止,但它不工作。任何帮助吗?

INSERT INTO table4
VALUES (code,team,name1,name2,name3,name4,name5,name6,name7,name8,name9)
SELECT table1.code1, 
       table1.team1, 
       table1.name1, 
       table1.name2, 
       table1.name3, 
       table2.name4, 
       table2.name5, 
       table2.name6, 
       talbe3.name7, 
       table3.name8, 
       table3.name9 
FROM table1, table2, table3
WHERE table1.team = table2.team  
AND table3.team = table1.team
AND table3.team = table2.team
INSERT INTO table4 VALUES ($code, $team, $name1, $name2, $name3, $name4, $name5, $name6,     
$name7, $name8, $name9);

我认为你得到了错误,因为你在name 9后面有一个逗号,你也不应该在名字中有空格。假设您实际上不需要空格,我们也可以将您的查询优化为合适的ANSI语法:

INSERT INTO table4 (code,team,name1,name2,name3,name4,name5,name6,name7,name8,name9)
SELECT TableOne.code
    ,TableOne.team
    ,TableOne.name1
    ,TableOne.name2
    ,TableOne.name3
    ,TableTwo.name4
    ,TableTwo.name5
    ,TableTwo.name6
    ,TableThree.name7
    ,TableThree.name8
    ,TableThree.name9 
FROM table1 AS TableOne
INNER JOIN table2 AS TableTwo ON TableTwo.team = TableOne.team
INNER JOIN table3 AS TableThree ON TableThree.team = TableTwo.team

别名假设code来自table1。我假设您在name9之后的尾随逗号顶部为teamSELECT得到了一个模糊的错误。

好了,老兄…我理解你的问题,你要归并表或类似的东西。现在在您的查询中,您只是从3个表中选择数据,而不是将其插入到4个表中。为此,您必须将SELECTED结果存储到变量或数组中,然后将其逐个插入到4表中。以谷歌为例;如果你堆放在某个地方…

祝一切顺利(Y)