所有,
我有几个表,超过50个,它们有一个公共列“ MYID”,并且在不编写巨大查询的情况下无法找到一种更简单的方法来加入它们。
想象以下示例(仅包含50个表和50个数据点)
SELECT DATAPOINT1, DATAPOINT2, DATAPOINT3, DATAPOINT4, DATAPONT5
FROM TABLE1, TABLE2, TABLE3, TABLE4, TABLE5
WHERE TABLE1.MYID = TABLE2.MYID, MYTABLE2.MYID=MYTABLE3.MYID, MYTABLE4.MYID=MYTABLE5.MYID
如何通过较短的查询获得上述结果?
最佳答案
看起来像一个可怕的数据库设计。您显示的查询是关于您所需要的。要连接的表很多很多,但这就是给定设计的方式。它不能短一些,因为您需要列出所有列,所有表和所有条件。您无法删除任何内容。
使用正确的连接语法:
select
t1.datapoint1,
t2.datapoint2,
t3.datapoint3,
...
from table1 t1
join table2 t2 on t2.myid = t1.myid
join table3 t3 on t3.myid = t1.myid
join ...
例如,使用编程语言循环或Excel非常容易生成。
关于mysql - MySQL轻松加入多个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40565917/