Mysql 带复杂插入的SQL选择
我试图用一个mysql命令将两个表连接成一个表。我还想将文件路径连接到新表中的一个路径中。任何信息都会有帮助。多谢各位 大概是这样的:Mysql 带复杂插入的SQL选择,mysql,Mysql,我试图用一个mysql命令将两个表连接成一个表。我还想将文件路径连接到新表中的一个路径中。任何信息都会有帮助。多谢各位 大概是这样的: INSERT INTO table3 VALUES (Location) SELECT "A.Loc_Path B._FilePath" FROM Table2 A INNER JOIN table1 B ON A._Loc_ID = B._Loc_ID 我想使用表1和表2并创建表3 表1 | ID | _FilePath | _Loc_ID |
INSERT INTO table3 VALUES (Location) SELECT "A.Loc_Path B._FilePath" FROM Table2 A INNER JOIN table1 B ON A._Loc_ID = B._Loc_ID
我想使用表1和表2并创建表3
表1
| ID | _FilePath | _Loc_ID |
| 1 | 001\yay\txt.html | 1 |
| 1 | 002\yay\txt.php | 2 |
表2
| _Loc_ID | Loc_Path |
| 1 | D:\documents\test\ |
| 2 | C:\Temp\test\ |
表3
| Id | Location |
| 1 | D:\documents\test\001\yay\txt.html |
| 2 | C:\Temp\test\002\yay\txt.php |
您需要的是使用连接两列:
INSERT INTO table3 VALUES (Location) SELECT CONCAT(A.Loc_Path, B._FilePath) FROM
Table2 A INNER JOIN table1 B ON A._Loc_ID = B._Loc_ID
使用海螺
INSERT INTO table3 (Location) SELECT concat (A.Loc_Path , B._FilePath)
FROM Table2 A INNER JOIN table1 B ON A._Loc_ID = B._Loc_ID
嘿,我很好奇,它不应该是插入表3(位置)值(XXX)其中XXX是连接结果吗?我是说就像医生说的。。。如果您不介意解释:-)@Enissay,请更好地解释您的评论。我不明白。。你需要一个更好的concat解释吗?不,
值
关键字位置让我困惑;也可以使用插入。。。选择
syntax,应该是INSERT INTO table3(Location)SELECT…
xDWell,@Nir Levy提出了相同的解决方案,这让我觉得这是另一种方式,因为我正在尝试重新构建我生锈的sql知识xD;Thks