Exibir apenas ultimo registro
Amigos, tenho uma consulta que quero que me retorne apenas a ultima data de acesso
Ex: SELECT CLIENTE, LOCAL, DATA FROM CLIENTE
INNER JOIN HISTORICO ON (CODCLIENTE=HCODCLIENTE)
Hoje vem assim
Quero este retorno
isto e o maior pela data
Ex: SELECT CLIENTE, LOCAL, DATA FROM CLIENTE
INNER JOIN HISTORICO ON (CODCLIENTE=HCODCLIENTE)
Hoje vem assim
EDUARDO DA SILVA AÇOUGUE 01/01/2007
EDUARDO DA MESQUITA CANTINA 31/02/2007
EDUARDO DA SILVA CANTINA 01/02/2007
Quero este retorno
EDUARDO DA MESQUITA CANTINA 31/02/2007
EDUARDO DA SILVA CANTINA 01/02/2007
isto e o maior pela data
Sremulador
Curtidas 0
Respostas
Emerson Nascimento
15/02/2007
algo assim:
SELECT CLIENTE, LOCAL, DATA FROM CLIENTE
INNER JOIN HISTORICO ON (CODCLIENTE=HCODCLIENTE)
where data = (select max(data) from historico h1 where h1.HCODCLIENTE = cliente.codcliente)
se é que a data está na tabela histórico...
SELECT CLIENTE, LOCAL, DATA FROM CLIENTE
INNER JOIN HISTORICO ON (CODCLIENTE=HCODCLIENTE)
where data = (select max(data) from historico h1 where h1.HCODCLIENTE = cliente.codcliente)
se é que a data está na tabela histórico...
GOSTEI 0
Sremulador
15/02/2007
Amigo emerson ae e que mora o problema
a data esta na tabela cliente
se é que a data está na tabela histórico...
a data esta na tabela cliente
GOSTEI 0
Emerson Nascimento
15/02/2007
e isso não dá certo?
SELECT CLIENTE, LOCAL, DATA FROM CLIENTE
INNER JOIN HISTORICO ON (CODCLIENTE=HCODCLIENTE)
where data = (select max(data) from cliente c1 where c1.CODCLIENTE = cliente.codcliente)
SELECT CLIENTE, LOCAL, DATA FROM CLIENTE
INNER JOIN HISTORICO ON (CODCLIENTE=HCODCLIENTE)
where data = (select max(data) from cliente c1 where c1.CODCLIENTE = cliente.codcliente)
GOSTEI 0
Sremulador
15/02/2007
e isso não dá certo?
SELECT CLIENTE, LOCAL, DATA FROM CLIENTE INNER JOIN HISTORICO ON (CODCLIENTE=HCODCLIENTE) where data = (select max(data) from cliente c1 where c1.CODCLIENTE = cliente.codcliente)
não da, pq
select max(data) from cliente c1 where c1.CODCLIENTE = cliente.codcliente)
pode ter várias datas e Data do cliente e uma só, mesmo se eu agrupar não daria certo tb pois LOCAL e diferente em vários casos:cry:
GOSTEI 0
Emerson Nascimento
15/02/2007
publique a estrutura das tabelas. não dá pra saber em qual tabela está o campo selecionado.
outra coisa:
´pode ter várias datas e Data do cliente e uma só´ ???
não entendi! como data é uma só se no seu exemplo você mostrou duas datas diferentes para um mesmo cliente?
outra coisa:
´pode ter várias datas e Data do cliente e uma só´ ???
não entendi! como data é uma só se no seu exemplo você mostrou duas datas diferentes para um mesmo cliente?
GOSTEI 0
Sremulador
15/02/2007
Amigo emersom, mil descuplas as datas são de nascimento do cliente então são iguais, muda apenas o setor.
Extrutura
[b:9fd4580a75]CLIENTE[/b:9fd4580a75]
[b:9fd4580a75]HISTORICO[/b:9fd4580a75]
se eu conseguisse tipo assim
valeu
Extrutura
[b:9fd4580a75]CLIENTE[/b:9fd4580a75]
COD
NOME
DATANSC
[b:9fd4580a75]HISTORICO[/b:9fd4580a75]
CODCLI - CÓDIGO DO CLIENTE
DATAMUDA - DATA DE MUDANÇA DE SETOR
SETOR - SETOR
se eu conseguisse tipo assim
SELECT CLIENTE, LOCAL, DATA FROM CLIENTE INNER JOIN HISTORICO ON (CODCLIENTE=HCODCLIENTE AND MAX(DATAMUDA))
valeu
GOSTEI 0
Emerson Nascimento
15/02/2007
veja se assim funciona (não testei):
select h.CODCLI, h.DATAMUDA, c.CLIENTE, c.LOCAL, c.DATA from HISTORICO h left join CLIENTE c on (c.COD = h.CODCLIENTE) where h.DATAMUDA = (select max(h2.DATAMUDA) from HISTORICO h2 where h2.CODCLIENTE = h.CODCLIENTE)
GOSTEI 0