Php 从内部联接创建mysql表
我试图从其他两个表之间的内部联接创建一个mysql表。我正在处理一个有人创建的数据库,该数据库包含以下表格:Php 从内部联接创建mysql表,php,mysql,inner-join,Php,Mysql,Inner Join,我试图从其他两个表之间的内部联接创建一个mysql表。我正在处理一个有人创建的数据库,该数据库包含以下表格: sitemartrix\u站点 sitematrix\u数据库 它们由另一个名为sitemartrix\u sites\u databases的表(我不知道为什么不使用外键)关联,该表具有以下字段: 站点id和数据库id 这就是两个表之间的关系。现在我正试图消除这一点,让我的生活更轻松,因此我: mysql> CREATE TABLE result AS(select * fr
sitemartrix\u站点
sitematrix\u数据库
sitemartrix\u sites\u databases
的表(我不知道为什么不使用外键)关联,该表具有以下字段:
站点id
和数据库id
这就是两个表之间的关系。现在我正试图消除这一点,让我的生活更轻松,因此我:
mysql> CREATE TABLE result AS(select * from sitematrix_databases INNER JOIN site
matrix_site_databases ON sitematrix_site_databases.database_id = sitematrix_data
bases.database_id);
ERROR 1060 (42S21): Duplicate column name 'database_id'
然而,我得到了那个错误。有人知道如何在不重复数据库id
字段的情况下合并这两个表吗
谢谢删除SELECT语句中的
*
,并在新表中实际列出所需的列。对于出现在两个原始表中的列,请同时命名该表(例如,sitematrix\u databases.database\u id
)。在SQL Server中,可以使用“选择到”。这可能是mySql的等效语法:
创建表格配方\u与production.recipes类似的新配方;插入配方\从production.recipes中选择新的*代码>不要使用*
而是命名每一列并使用别名。例如,您可以使用alternativeName
,而不是sitematrix\u database.database\u id
。您还可以通过这种方式选择所需的列。而不是使用SELECT*…
尝试SELECT database\u id…
MySQL不喜欢连接具有相同列名的表