[size=14pt][font=comic sans ms]Boa tarde pessoal.
Tenho uma consulta que está me retornando os seguintes dados:[/font][/size]
[size=14pt][font=comic sans ms]Esses são dos dados de minha tabela completa.[/font][/size]
[size=14pt][font=comic sans ms]Mas ao utilizar o comando Select Distinct o retorno foi esse.[/font][/size]
[size=14pt][font=comic sans ms][size=14pt][size=14pt]Mas na verdade estava precisando retornar os dados que estão marcados em vermelho. Que seria de cada cliente o último dado inserido na tabela conforme a data de inserção.
[size=14pt][font=comic sans ms]Após ir e vir no manual consegui algum processo mas a no campo data data ainda não está trazendo a última data inserida no Banco de Dados.[/font][/size]
Alguém saberia me dar uma dica de como fazer isso?[/size][/size][/font][/size]
Onde está o join entre as 2 tabelas ?
Falta inner join, e eu colocaria group by para não deixar duplicar os registros, não sei como esta essa modelagem, mas pode ser que a duplicação, seja somente pela falta do inner join.
Assim, acho que já resolve:
SELECT distinct i.status,
p.id_controle_peso,
p.data,
p.peso,
p.disgnostigo,
p.altura,
p.id_idoso
FROM controle_peso p
inner join dados_idoso i on p.id_idoso = i.id_idoso
where i.status = ‘1’
sem saber, é claro, como está sua estrutura.
wanderlanlima
Faz a ligação entre as tabelas “Join” utilizando o sql builder. é tiro e queda rsrs
Caro Régis Matos, não sou eu é o ticelso. rs
Ops, foi mal, desculpa rsrs
Ticelso, deu certo ai ? rsrs
[font=comic sans ms][size=14pt]Boa noite pessoal…
Obrigado a todos pelas dicas.
Com a dica de vocês cheguei nesse resultado.
Vejam as tabelas do meu Banco de Dados.
Vejam utilizando o GROUP BY controle_peso.ID_IDOSO
Pórem ainda não é o que preciso.
O que eu quero é que os dados assinalados com retângulo vermelho seja meu resultado de pesquisa.
Preciso pegar a data mais recente inserida no meu Banco de dados sem repetir o ID_IDOSO.
Minha estrutura está toda demostrada nas figuras.[/size][/font]
Tente usar a data na clausula WHERE para filtrar somente pela maior data da tabela.
Exemplo:
SELECT
dados_idoso.STATUS,
controle_peso.ID_CONTROLE_PESO,
controle_peso.DATA,
controle_peso.DIAGNOSTICO,
controle_peso.ALTURA,
controle_peso.ID_IDOSO
FROM
controle_peso INNER JOIN dados_idoso ON controle_peso.ID_IDOSO = dados_idoso.ID_IDOSO
WHERE
(dados_idoso.STATUS = '1') AND (controle_pedo.DATA = (SELECT MAX(controle_pedo.DATA) FROM controle_peso))
Escrevi bem rápido, então verifique se a construção do comando não tem erro de digitação ou sintaxe.
[size=14pt][/size][font=comic sans ms]Olá pessoal está quase lá acho eu…
Agora está trazendo a maior data é isso que eu quero só que tem que pegar a maior data de cada cliente.
Para facilitar vou colocar o código abaixo:
SELECT
controle_peso.ID_IDOSO,
controle_peso.ID_CONTROLE_PESO,
controle_peso.DATA,
controle_peso.PESO,
controle_peso.DIAGNOSTIGO,
controle_peso.ALTURA,
dados_idoso.STATUS
FROM
controle_peso INNER JOIN dados_idoso ON controle_peso.ID_IDOSO = dados_idoso.ID_IDOSO
WHERE
(dados_idoso.STATUS = ‘1’) AND (controle_peso.DATA = (SELECT MAX(controle_peso.DATA)
FROM
controle_peso))
[/font]
Não entendi!!!
Esta query vai retornar todos os registros com a maior data. No seu exemplo, presumo que a maior data é 2011-06-03. Tem mais de um registro com esta data no banco?
[size=18pt][/size][font=comic sans ms]Sim claro a maior data é essa mas o resultado de que preciso está sinalizado com o retângulo vermelho.
Refiz novamente veja o que está em amarelo seu script retornou porém preciso que retorne também o verde ou seja ( amarelo + verde ).
Que resumindo é a maior data de entrada de cada cliente.
Entendido?[/font]
[size=18pt][/size][font=comic sans ms]FINALMENTE APÓS MAIS DE 72H AGORA SIM DEU CERTO.
OBRIGADO A TODOS COLEGAS PELA AJUDA.
Vejam abaixo o resultado.[/font]
Parabens ticelso!!!
Como você fez?