Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda com query....


Ricardo S

Pergunta

Olá...

Tenho uma tabela com os seguintes campos:

id_do_pai

id_do_filho

id_da_cidade

Ao informar 2 cidades, preciso que retorne o(s) nome(s) do(s) filho(s) que tenha(m) visitado as duas cidades informadas, sendo os dois do mesmo pai.

As duas cidades podem ter sido visitadas pelo mesmo filho ou por filhos diferentes, desde que do mesmo pai.

Vários pais podem ter filhos que visitaram as duas cidades.

Agrupar por id_do_pai.

Como meu conhecimento é limitado, já tentei várias formas, mas não tive sucesso até o momento.

A última tentativa foi assim:

SELECT id_do_filho, id_do_pai

FROM (

SELECT *

FROM `tb_filhos_cidades`

WHERE 'id_da_cidade' =5370 OR 'id_da_cidade' =3309 GROUP BY id_do_pai) AS prim

HAVING COUNT(id_do_pai) = 2

Mas não retorna nada.

Agradeço qualquer ajuda.

Editado por Ricardo S
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Já tentou assim?

SELECT id_do_pai, id_do_filho
FROM `tb_filhos_cidades`
WHERE `id_da_cidade` = 5370 OR `id_da_cidade` =3309 
GROUP BY id_do_pai)
HAVING COUNT(id_do_pai) > 1

Obs.: Não confunda (') aspas com (`)crase. Crase é para identificar nomes de bancos, tabelas, campos e nomes de trigges, funções e procedures do MySQL. Aspas são usadas para identificar literais do tipo String (char, varchar e text).

Link para o comentário
Compartilhar em outros sites

  • 0
Já tentou assim?
SELECT id_do_pai, id_do_filho
FROM `tb_filhos_cidades`
WHERE `id_da_cidade` = 5370 OR `id_da_cidade` =3309 
GROUP BY id_do_pai)
HAVING COUNT(id_do_pai) > 1

Obs.: Não confunda (') aspas com (`)crase. Crase é para identificar nomes de bancos, tabelas, campos e nomes de trigges, funções e procedures do MySQL. Aspas são usadas para identificar literais do tipo String (char, varchar e text).

Obrigado Denis.... parece que este é o caminho mesmo.

Porém agora, retorna apenas um registro de cada id_do_pai... acredito que seja por causa do GROUP BY. O correto seria 2 registro de cada id_do_pai, um para cada cidade, com seu respectivo id_do_filho. (não sei se me fiz entender)

Eu não sabia que o GROUP BY suprimia os demais resultados. Pensei que agrupasse, mas mostrasse todos.

Teria alguma alternativa para mostrar todos os registros ?

Muito grato pela colaboração.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...