你好我使用多个表(大约40个),我做了一个左连接链接多个表,问题是在那些表中有一些多个匹配,并为此rason得到很多行,他们我看起来的方法使结果更有条理,因为此结果被发送到Javascript,结果是许多表,以及许多具有null
值的列。
MainTbl
+-------------------+
| id columA columB |
+-------------------+
| 1 data data |
| 2 data data |
| 3 data data |
| 4 data data |
+-------------------+
Table1
+-------------------+
| id columA columB |
+-------------------+
| 1 data data |
| 1 data data |
| 1 data data |
| 2 data data |
+-------------------+
Table2
+-------------------+
| id columA columB |
+-------------------+
| 2 data data |
| 2 data data |
| 1 data data |
| 1 data data |
+-------------------+
我做了这样的左连接:
SELECT blah,blah,blah
FROM MainTbl
LEFT JOIN Table1 ON Table1.Id = MainTbl.Id
LEFT JOIN Table2 ON Table2.Id = MainTbl.Id
...
...
..
LEFT JOIN Table40 ON Table40.Id = MainTbl.Id
其他选项我看到的是对每个ID进行选择,并按表格组织它,例如
select * from table1 where id='1'
,这个结果我可以与table2,table3...table40
连接,在concat子表后我可以与主表连接,结果可以是这样的。
Maintbl[
MainA:'data',
MainA:'data',
Table1:[
items:[
subT1:[
Sub_subT1:data,
Sub_subT1:data
],
subT1:[
Sub_subT1:data,
Sub_subT1:data
],
subT1:[
Sub_subT1:data,
Sub_subT1:data
]
]
],
Table2:[
items:[
subT2:[
Sub_subT2:data,
Sub_subT2:data
],
subT2:[
Sub_subT2:data,
Sub_subT2:data
],
subT2:[
Sub_subT2:data,
Sub_subT2:data
]
]
]
]
但我看到一个问题“资源消耗”,因为我需要使用40个表,这是40个选择,我不知道这个方法是否更好o不,但我没有看到这个问题的其他解决方案。 / p>