none
Ajuda para criar consulta RRS feed

  • Pergunta

  • Boa tarde pessoal,

    Sou novo no forum e  estou muito enferrujado em SQL.

    Estou desenvolvendo uma aplicação em JAVA pro meu TCC e venho pedir uma ajuda que talvez até seja bastante simples para muitos para efetuar uma consulta em minhas tabelas.

    Tentarei explicar a situação:

    Tenho 2 tabelas de onde irei retirar os dados da consulta:

    TABELA 1: responsavel

    TABELA 2: composicao_familiar

    Da TABELA 1 e da TABELA 2 preciso buscar o campo nome (q possui em ambas tabelas).

    Isto consegui fazer através da seguinte consulta:

    SELECT nome AS nomes 
    FROM responsavel	
    WHERE nome LIKE '%'"+nome+"'%'
    UNION all
    SELECT nome FROM composicao_familiar	
    WHERE nome LIKE '%'"+nome+"'%'

    O nome entre os sinais de +, é o valor da variável passado pela aplicação Java.

    A partir daí é que me surge a dificuldade,

    preciso saber se é possível e, se for, como posso fazer para o resultado da consulta gerar mais uma coluna informando se o nome pesquisado foi pego da tabela responsavel ou da tabela composicao_familiar.

    A consulta deveria apresentar algo como o exemplo abaixo:

    NOMES                                      RESPONSAVEL

    Fulano da Silva                      Sim

    Beltrano de Souza                 Não

    Ciclano de Tal                        Não

    Espero que eu tenha conseguido explicar bem a situação e o problema.

    Se alguém puder me ajudar agradeço.

    Att.

    Rodrigo

    quarta-feira, 13 de agosto de 2014 18:52

Respostas

Todas as Respostas

  • Deleted
    quarta-feira, 13 de agosto de 2014 19:15
  • Opa, efetuei um teste rápido e parece que assim já funcionou como preciso...

    Obrigado.

    Mas respondendo a sua pergunta, existe sim uma relação que liga a tabela 1 à 2.

    Na tabela 1 existe uma PK id_familia que é FK na tabela 2.

    Farei mais alguns testes para ver se é só isso mesmo. 

    Muito agradecido pela ajuda.

    quarta-feira, 13 de agosto de 2014 22:03
  • Deleted
    quarta-feira, 13 de agosto de 2014 22:51
  • Gostei da idéia José, porém este código não executou no SQL Query

    Não consegui saber o pq.

    Abaixo colo a msg de erro gerada:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'with
    ColetaNomes as (
    SELECT id_familia, responsavel, 1 as Origem
      from resp' at line 1

    OBS.: alterei o campo nome da sua consulta para responsavel pois na minha tabela o campo tem este nome.

    quarta-feira, 13 de agosto de 2014 23:09
  • Deleted
    quarta-feira, 13 de agosto de 2014 23:21
  • Obrigado pela ajuda!

    Como eu disse, gostei da sua idéia para organizar os nomes naquela ordem.

    Nem sabia que a sintaxe entre SQL e MySQL possuia diferenças...

    Já mexi com SQL Server mas faz tanto tempo que não me recordo mais.

    Infelizmente não sei como adaptar tal código para o MySQL e, já que este tratamento de organização seria apenas para um visual mais "clean", deixarei por isso mesmo

    hehehe

    Obrigado mais uma vez.

    quinta-feira, 14 de agosto de 2014 18:34