Привет, я работаю с несколькими таблицами (около 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
Другой вариант, который я вижу, – это сделать выбор для каждого идентификатора и организовать его по таблице, например, select * from table1 where id='1'
, этот результат я могу выполнить с table2,table3...table40
, после concat subtables i can 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 нет, но я не вижу другого решения для этой проблемы.