Autor Tópico: ** RESOLVIDO ** Dúvida em select  (Lida 1108 vezes)

George Carvalho

  • Expert
  • *****
  • Mensagens: 1371
    • Email
** RESOLVIDO ** Dúvida em select
« Online: Dezembro 06, 2009, 10:59:34 am »
Tenho uma tabela “condomio_infraestrutura” com os campos

infraestrura_id = auto-incremento
infraestrutura = Nome da infraestrura

Em outra tabela “condomínio” entre outros campos tem

infraestrura_id com os valores dos índices de “condomio_infraestrutura”, por exemplo: 22;23;24;25;26;27;28;29;30;31;32;33;34;36

Como monto uma select para pegar os campos “infraestrura” da tabela “condomio_infraestrutura” a partir da tabela “condomínio” tendo como índice os valores de infraestrura_id?

Conto com a ajuda de vocês e antecipadamente obrigado.
« Última modificação: Dezembro 07, 2009, 09:52:22 am por Rodrigo Lins »
George Carvalho
Porto de Galinhas/PE

robsonsilva

  • Visitante
Re: Dúvida em select
« Responder #1 Online: Dezembro 06, 2009, 11:19:39 am »
Olá, bom dia!

Você pode tentar algo parecido com o que foi sugerido neste tópico:
http://www.netmake.com.br/forum/index.php?topic=737.msg2341;topicseen#msg2341

Mas imagino que seria mais prático (e menos confuso) criar uma 3ª tabela para realizar a ligação e utilizar Joins no select...

Tive que fazer algo parecido num sistema de cotações para buscar somente determinados fornecedores, que estavam cadastrados na mesma categoria/subcategoria/grupo dos produtos desejados e que atendiam a região do cliente..

Acho que no seu caso seria algo assim:

Código: [Selecionar]
//TABELA DE LIGAÇÃO
CREATE TABLE `condo_infra` (
`condominio_id` INT( 10 ) NOT NULL ,
`infraestrura_id` INT( 10 ) NOT NULL
) TYPE = innodb;

// COMANDO SELECT
sc_lookup(dataset,"SELECT condominio_infraestrutura.infraestrutura FROM condominio_infraestrutura INNER JOIN condo_infra ON condominio_infraestrutura.infraestrutura_id = condo_infra.infraestrutura_id WHERE condo_infra.condominio_id = {condominio_id}");


Espero ter ajudado.

Att.
Robson

George Carvalho

  • Expert
  • *****
  • Mensagens: 1371
    • Email
Re: Dúvida em select
« Responder #2 Online: Dezembro 06, 2009, 11:50:20 am »
Obrigado Robson,

Acho que não me expressei direito.

O campo “infraestrura_id” da tabela “condomínios” e tipo TEXT  e uso CHECKBOX para gravá-los, ou seja, então os valores 22;23;24;25;26;27;28;29;30;31;32;33;34;36 estão todos no mesmo campo.

Vou esperar por alguma outra sugestão e estou analisando criar una nova tabela com aas ligações.

Muito obrigado.

George Carvalho
George Carvalho
Porto de Galinhas/PE

Allan Medeiros

  • Expert
  • *****
  • Mensagens: 504
    • Email
Re: Dúvida em select
« Responder #3 Online: Dezembro 06, 2009, 12:04:44 pm »
George,
Acho que você vai ter que usar programação para explodir o campo, separando os IDs e preencher o compbo 'na mão'.
Eu acho que a melhor solução é a proposta por Robson. normalizar a tabela e criar uma tabela de ligação.
[]s
Allan
Allan Medeiros
Analista de Informática
__________________________________________
Companhia de Processamento de Dados da Paraíba
medeiros@codata.pb.gov.br

George Carvalho

  • Expert
  • *****
  • Mensagens: 1371
    • Email
Re: Dúvida em select
« Responder #4 Online: Dezembro 06, 2009, 04:48:16 pm »
Obrigado amigos,

Consegui resolver usando o exemplo indicado por Robson.

Grato,

George Carvalho
George Carvalho
Porto de Galinhas/PE