Tou precisando de ajuda com uma query que me está rebentando a cabeça.
Vamos imaginar que temos uma tabela de diario:
diario
id data nome_pessoa penteado
1 dia1 rai caracol
2 dia2 rai caracol
3 dia1 caio esticado
4 dia2 caio esticado
5 dia3 rai espetado
6 dia3 caio esticado
O que eu preciso é saber se do "dia 1" ao "dia 3" o caio ou o rai mudaram de penteado.
No fundo preciso pegar no valor do ultimo dia e verificar para trás se aquela pessoa teve uma mudança de penteado.
O objectivo disso é conseguir retornar as linhas que não tiveram alteração.
Já achei a forma de retornar o nome_pessoa que não teve alterações, mas agora não consigo sacar toda a linha visto estar a usar group by
SELECT tmp.nome_pessoa
FROM
(SELECT hcon.nome_pessoa
from(select * from diario as hcon where hcon.data > 'dia1' order by hcon.data desc) as hcon
group by hcon.nome_pessoa, hcon.penteado
having (count(hcon.penteado)>=1) ) as tmp
GROUP BY tmp.nome_pessoa
HAVING ( COUNT(tmp.nome_pessoa) = 1 )
P.S.: O exemplo não é da minha bd, não tou fazendo nenhuma aplicação de cabeleireiro :)
P.S.2: Este post foi editado para que os usuários tenham mais informação sobre a minha dúvida, mas quem ainda não perceber pode responder perguntado por favor.
Pergunta
rui costa
Falou pessoal,
Tou precisando de ajuda com uma query que me está rebentando a cabeça.
Vamos imaginar que temos uma tabela de diario:
diario
id data nome_pessoa penteado
1 dia1 rai caracol
2 dia2 rai caracol
3 dia1 caio esticado
4 dia2 caio esticado
5 dia3 rai espetado
6 dia3 caio esticado
O que eu preciso é saber se do "dia 1" ao "dia 3" o caio ou o rai mudaram de penteado.
No fundo preciso pegar no valor do ultimo dia e verificar para trás se aquela pessoa teve uma mudança de penteado.
O objectivo disso é conseguir retornar as linhas que não tiveram alteração.
Já achei a forma de retornar o nome_pessoa que não teve alterações, mas agora não consigo sacar toda a linha visto estar a usar group by
SELECT tmp.nome_pessoa
FROM
(SELECT hcon.nome_pessoa
from(select * from diario as hcon where hcon.data > 'dia1' order by hcon.data desc) as hcon
group by hcon.nome_pessoa, hcon.penteado
having (count(hcon.penteado)>=1) ) as tmp
GROUP BY tmp.nome_pessoa
HAVING ( COUNT(tmp.nome_pessoa) = 1 )
P.S.: O exemplo não é da minha bd, não tou fazendo nenhuma aplicação de cabeleireiro :)
P.S.2: Este post foi editado para que os usuários tenham mais informação sobre a minha dúvida, mas quem ainda não perceber pode responder perguntado por favor.
Obrigaduu!
Editado por rui costaLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.