[firebase-br] Split no Firebird 2.1

Marcelo Moreira marcelomoreira.souza em gmail.com
Seg Ago 26 18:05:32 -03 2013


Rodrigo,
O esquema é um pouco mais complicado. Trata-se de um sistema de
questionários. Ou seja, não tenho como ter uma tabela e em cada coluna uma
informação pois neste aplicativo o usuário vai poder montar o seus
questionários com quantas perguntas quiser. Por exemplo, se ele fosse
montar um questionário com 50 perguntas, minha tabela teria 50 campos, mas
se ele monta um questionário com apenas 5 perguntas eu precisaria ter
apenas 5 colunas. Para o mesmo questionário eu vou ter N pessoas
respondendo. Daí minha tabela onde vou guardar as informações ficaria mais
ou menos assim:

TB_QUESTIONARIO_RESPOSTA (ID_QUESTIONARIO, ID_CLIENTE, RESPOSTAS)

Nesta coluna RESPOSTAS é que pretendo guardar as informações referente a
cada pergunta separadas por ( ; )
Daí se preciso fazer um select mais ou menos assim:
No questionário de ID = 10 eu quero todos os clientes que na pergunta
numero 1 responderam 'SIM' e na pergunta numero 5 responderam 'CASADO'

Grato pela força.



Em 26 de agosto de 2013 17:50, Rodrigo Gomes da Silva
<rodrgomes em gmail.com>escreveu:

> Marcelo,
>
> Da onde é feita a entrada de dados desta tabela? Se vc vai fazer muitas
> consultas nestes casos seria melhor vc quebrar e jogar em campos separados,
> ja na inclusao do texto. Ai pode pode manipular de um jeito muito mais
> facil, inclusive colocar indices para agilizar as consultas.
>
> Se a entrada for feita por sistema pode se quebrar por ele, ou ate mesmo
> usar algo como a procedure que o Julio colocou apos a entrada para jogar
> nos campos certos.
>
>
>
> Em 26 de agosto de 2013 17:39, Marcelo Moreira <
> marcelomoreira.souza em gmail.com> escreveu:
>
> > Cantu,
> >
> > Mas no caso tem como usar expressões regulares no Firebird 2.1 ?
> >
> >
> > Em 26 de agosto de 2013 17:36, Carlos H. Cantu <listas em warmboot.com.br
> > >escreveu:
> >
> > > Não existe nenhuma função semelhante a essa no firebird, mas você pode
> > > criar uma UDF.
> > >
> > > Outra opção seria tentar fazer a pesquisa usando expressões
> > > regulares... não tenho certeza que dá pra montar uma que resolva seu
> > > problema, pois apesar de poderosas, talvez as expressões regulares
> > > não cheguem a tanto.
> > >
> > > []s
> > > Carlos H. Cantu
> > > www.FireBase.com.br - www.firebirdnews.org
> > > www.warmboot.com.br - blog.firebase.com.br
> > >
> > > MM> Pessoal,
> > > MM> Tenho um campo TEXTO (varchar) com informações assim:
> > >
> > > MM> MARCELO MOREIRA;79;ativo;01/01/2013;850.66;LOJA 1
> > >
> > > MM> O Firebird tem algum que me permitisse fazer algo assim:
> > >
> > > MM> select * from TABELA where TEXTO.SPLIT('segundo parametro') =
> 'ativo'
> > >
> > > MM> Grato pela atenção.
> > >
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Marcelo Moreira
(31) 8420-2723
E-mail / MSN: marcelomoreira.souza em hotmail.com
E-mail: marcelomoreira.souza em gmail.com
Skype: marcelomoreira.souza



Mais detalhes sobre a lista de discussão lista