Jump to content
Fórum Script Brasil
  • 0

Ajuda com query....


Ricardo S
 Share

Question

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.

Edited by Ricardo S
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.8k
    • Total Posts
      648.7k
×
×
  • Create New...