Mysql 连接六个表,并在所有表中重复date ans market列。

Mysql 连接六个表,并在所有表中重复date ans market列。,mysql,mysql-workbench,Mysql,Mysql Workbench,我的数据库中有六个表,每个表有45列,所有表中都重复日期和市场列。里面有一百万张唱片。我的日期和市场价值不是唯一的,并且是重复的,因此如何将这些表连接在一起? 有什么帮助吗? 例如: 我尝试使用以下查询连接两个表: 从cre、dur中选择*其中cre.period=dur.period和cre.market=dur.market 但一旦我尝试创建一个表,它就不起作用了 我通过硬编码所有列名连接了六个表,但我认为这不是正确的方式吗? 有什么帮助吗?您可以按以下方式使用- select cre.*,

我的数据库中有六个表,每个表有45列,所有表中都重复日期和市场列。里面有一百万张唱片。我的日期和市场价值不是唯一的,并且是重复的,因此如何将这些表连接在一起? 有什么帮助吗? 例如:

我尝试使用以下查询连接两个表:

从cre、dur中选择*其中cre.period=dur.period和cre.market=dur.market

但一旦我尝试创建一个表,它就不起作用了

我通过硬编码所有列名连接了六个表,但我认为这不是正确的方式吗?
有什么帮助吗?

您可以按以下方式使用-

select cre.*,dur.* from cre,dur where cre.period = dur.period and cre.market = dur.market; 
注意:即使您的要求对我来说也不太清楚,但根据我的理解,您可以跳过cre.period=dur.period,然后您也可以根据您的数据获得相同的结果

最好只保留必填列,为此,您可以按照以下步骤进行操作-

步骤1:导出以下查询结果

select * from table1 limit1;
步骤2:从标题行复制所有列并删除不需要的列


此外,您的表结构似乎不太好,您应该通过父表和子表id在另一个表中保留一个表的引用。

不确定列名的硬编码有什么问题。您需要指定要在哪些列上联接表。我是正确地处理了你的问题,还是偏离了目标?当我添加六个表时,我会出现大约140列,那么,有没有办法在不写全部140个列名的情况下连接这些表呢?但你肯定不会在145列上连接?我在所有六个表中都有两列date和market相同。这个查询可以工作,但当我将这个查询放在create table语句中时,它会给出一个错误?我需要所有的列。我想连接这些表并从mysql中取出数据。如果您要将其导出到mysql,然后将这些导出的语句作为insert执行,如果是这种情况,那么实际上您的insert语句将作为表名别名而不是原始表名准备。在这种情况下,您需要在执行insert语句之前更改insert语句中的表名,或者需要以不同的方式准备查询……如果是这种情况,那么请共享导出的数据示例以及您在其中创建的表我不明白你说的是什么
select * from table1 limit1;