Estou tentando refinar uma consulta usando duas Planilhas do Excel como Banco de Dados.
O que preciso é juntar as as Turmas de uma Gerencia, trazendo a quantidade de HorasPlanejadas e a quantidade de HorasDisponíveis.
A quatidade de horas Planejadas está em uma Sheet e as HorasDisponíveis em outra Sheet no mesmo arquivo.
Consegui fazer isso usando a seguinte instrução no VBA:
- Código: Selecionar todos
SELECT [TGerencia$].Gerencia, [TGerencia$].Turma, [TGerencia$].HorasPlanejadas, [THorasDisponivel$].HorasDisponivel
FROM [TGerencia$]
INNER JOIN [HorasDisponivel$]
ON [TGerencia$].Turma = [HorasDisponivel$].Turma
Resultado é:
Gerencia | Turma | HorasPlanejadas | HorasDisponivel
GER1 TA-01 100 90
GER1 TA-02 98 70
GER1 TA-03 26 63
GER1 TA-03 40 11
GER2 TO-01 40 90
GER2 TO-02 98 70
GER2 TO-03 26 63
GER2 TO-03 40 11
Observem que obtive um panorama interessante sobre como anda o planejamento de cada turma.
Acontece que com essa instrução, o SQl só me retorna as Turmas que têm HorasPlanejadas e HorasDisponiveis. Nesse caso eu preciso ver também as Turmas que têm
HorasPlanejadas e não têm HorasDisponiveis
e o inverso
HorasDisponiveis e não tem HorasPlanejada
Em outros bancos de dados, poderíamos utilizar o FULL JOIN para trazer os dados da tabela da esquerda (left join) e os da tabela direita (right join) mesmo que uma ou outra estiver vazia. Pesquisei bastante e me parece que o Excel em seu provedor Jet não oferece suporte a instrução FULL JOIN.
Algém já passou por isso e encontrou uma solução?
Grato


