Mysql与左连接多个匹配

时间:2015-10-18 01:06:11

标签: php mysql

你好我使用多个表(大约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>

0 个答案:

没有答案