.Tenho muitas tabelas X1,X2,...Xn (elas podem exceder 75 tabelas) no banco de dados Mysql para representar departamentos de uma empresa muito grande.
toda tabela tem estrutura algo assim
desc X1; +--------+-------------+------+-----+---------+-- -----+ | Campo | Tipo | Nulo | Chave | Padrão | Adicional | +--------+-------------+------+-----+---------+-- -----+ | ReqF | int(11) | Sim | | NULO | | | EmpName | varchar(32) | Sim | MUL | NULO | |
agora devo retornar todos os ReqF dos departamentos em que John trabalha. Sei que posso fazer isso juntando à esquerda assim
selecione X1.ReqF,X2.ReqF,...,Xn.ReqF FROM X1 junção esquerda X2 em (EmpName) junção esquerda .... junção esquerda Xn em X1.EmpName=Xn.EmpName onde X1.EmpName='John'
existe alguma maneira melhor de fazer isso e se precisarmos recuperar campos diferentes de tabelas (ex X1.ReqF1, X2.ReqF2 ou número aleatório de campos de tabelas como [SELECT X1.F1, X1.F2, X2.F3, ...])??