Verificar select que pega o Numero maximo de registro
28/10/2009
0
tabela_geral.processo, tabela_geral.data, tabela_geral.hora,
tabela_geral.cod_hospital,tabela_hospital.hospital, tabela_hospital.cidade, tabela_geral.data_utilizacao,
tabela_geral.hora_utilizacao, tabela_geral.obs
FROM tabela_geral
LEFT JOIN tabela_caixa ON tabela_caixa.n_caixa = tabela_geral.n_caixa
LEFT JOIN tabela_hospital on tabela_hospital.cod_hospital = tabela_geral.cod_hospital
WHERE numerocontrole IN (SELECT MAX(numerocontrole) FROM TABELA_GERAL TG2 WHERE tabela_geral.N_CAIXA = TG2.N_CAIXA) order by caixa No aguardo.
Clei Martins
Posts
28/10/2009
Wilson Junior
28/10/2009
Clei Martins
28/10/2009
Wilson Junior
- Não precisa utilizar o "DISTINCT", pois ele nunca irá retornar dados repetidos, pois o campo TABELA_GERAL.NumeroControle está sendo selecionado e ele é um índice, portanto, NUNCA poderá ser repetido, sendo assim, já elimina trabalho desnecessário do Banco de Dados;
- Se as tabelas possuem FOREIGN KEY, utilize "INNER JOIN" ao invés de "LEFT JOIN";
- Crie um índice para o campo N_Caixa na TABELA_GERAL ( CREATE INDEX IDX_TABELA_GERAL_N_CAIXA ON TABELA_GERAL(N_Caixa), pois por mais que o mesmo se repita várias vezes nesta tabela, na hora de fazer o subselect do WHERE principal ele irá processar mais rápido;
Mas pelo resultado que deseja, não vejo muita alternativa no seu SQL.
Espero ter ajudado.
29/10/2009
Clei Martins
29/10/2009
Emerson Nascimento
SELECT distinct tabela_geral.numerocontrole, tabela_geral.n_caixa, tabela_geral.usuario, tabela_caixa.caixa,
tabela_geral.processo, tabela_geral.data, tabela_geral.hora,
tabela_geral.cod_hospital,tabela_hospital.hospital, tabela_hospital.cidade, tabela_geral.data_utilizacao,
tabela_geral.hora_utilizacao, tabela_geral.obs
FROM tabela_geral
LEFT JOIN tabela_caixa ON tabela_caixa.n_caixa = tabela_geral.n_caixa
LEFT JOIN tabela_hospital on tabela_hospital.cod_hospital = tabela_geral.cod_hospital
WHERE numerocontrole = (SELECT MAX(numerocontrole) FROM TABELA_GERAL TG2
WHERE tabela_geral.N_CAIXA = TG2.N_CAIXA)
order by caixa
Clique aqui para fazer login e interagir na Comunidade :)