[firebase-br] Eh possivel fazer este Select ??

Augusto augusto em cmsolucoes.com.br
Qua Ago 10 11:06:57 -03 2005


Weber,

    stranho esse teu SELECT, o campo de NOME pode ficar imenso
de acorco com os hospedes que já tiveram no tal AP...

imagina se no AP  03    tivesse mais de 30 pessoas ou N pessoas
( Francisco/Maria/Vinicius/ Marcos/Alex..............)

não tem como vc depois apresentar isso num campo ou relatório...

será que é isso realmente que o usuário quer...
não seria o caso de vc tentar uma estrutura diferente.

  bom, de qq jeito com SQL puro não tem como vc fazer.
o que vc pode utilizar é uma Stored Proc.

  Que vai selecionar os dados da  tabela hospedagem,
incluindo um campo virtual...  tipo
  (SELECT AP,  '    ' AS NOME ,  ENTRADA, SAIDA FROM HOSTEDAGEM) - H1

fazer outro os select na hospedagem que esta abaixo para cada registro do 
select acima - H2

e um select na tabela hospedes para cada registro do select na hospedagem 
(h2)abaixo  - H3


maio ou menos assim, esta apenas o PseudoCódigo -> depois vc passa para SP 
FB.

Augusto


C1 -> SELECT DISTINCT AP,  '    ' AS NOME ,  ENTRADA, SAIDA FROM HOSTEDAGEM

WHILE NOT C1.EOF


    C2-> SELECT REG, AP, HOSPEDE,  ENTRADA, SAIDA FROM HOSTEDAGEM
              WHERE REG = C1.REG

    VAR SNOME -> ''
    VAR IREG -> C1.REG

    WHILE IREG = C2.REG   DO

        C3 -> SELECT NOME FROM HOSPEDE WHERE HOSPEDE = C2.HOSPEDE

        SNOME -> SNOME || C3.NOME

        NEXT
    END
    C1.NOME -> SNOME
    NEXT
END




>






----- Original Message ----- 
From: "Marco" <aurelio em infoh.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, August 10, 2005 10:48 AM
Subject: Re: [firebase-br] Eh possivel fazer este Select ??


> sim tranquilo faça um left join
> exemplo
> select  h.reg,
>          h.id,
>          h.ap,
>          h.hospede,
>          h.entrada,
>          h.saida,
>         tbl.nome,
>         tbl.idnome
> from hospedagem h
> left join tbl-do-nome tbl on h.hospede  =  tbl.idnome
>
>
> o tbl ali é a tabela que vc salvou o nome do hospede e mostre só os campos
> que te intereça qlqer coisa tamos ai
>
>
>
>
>> >   Preciso mais uma vez da ajuda de vcs para montar uma consulta. Vamos
>> > la... Tenho a seguinte Tabela (Hospedagem)
>> > Reg     ID Ap Hospede Entrada  Saida
>> > 00001  1   01 00001     09/08    12/08
>> > 00002  2   02 00003     08/08    10/08
>> > 00002  3   02 00005     08/08    10/08
>> > 00003  4   03  00002     08/08    11/08
>> > 00003  5   03  00007     08/08    11/08
>> > 00003  6   03  00004     08/08    11/08
>> >
>> > Preciso de uma select q me mostre todos os Nomes do Hospedes Agrupados
>> > no msm Campo.
>> >
>> > Ap   Nome                             Entrada Saida
>> > 01    Jose                               09/08    12/08
>> > 02    Marcos/Paula                 08/08    10/08
>> > 03    Francisco/Maria/Vinicius 08/08    11/08
>> >
>> > Da pra fazer isso usando SQL??? Ainda bem q disse pro cliente q iria
>> > ver se tinha jeito!!hehe
>> >
>> > Grande abraco e obrigado pela dica
>> >
>> > Weder
>> >
>> >
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 






Mais detalhes sobre a lista de discussão lista