SQL de 5 linhas em uma só

Firebird

16/06/2004

Olá amigos do fórum,

Bem, eu tenho uma tabela com 7 campos, ex:


Titular
Cod_titular
Dep1
Dep2
Dep3
Dep4
Dep5

O que eu gostaria é o seguinte: Como faço para que as últimas 6 linhas sejam agrupadas como uma só e que incluam o campo cod_Titular?
Ex:
6_Campos                                                                       cod_clientes
------------------------------------------------------------------------------
Dep do campo 1                                                                           1234
Dep do campo 2                                                                           1234
Dep do campo 3                                                                           1234
Dep do campo 1                                                                           4321
Dep do campo 2                                                                           4321


Já tentei o uso de UNION porém só agrupa os três primeiros campos.


Rodolpho123

Rodolpho123

Curtidas 0

Respostas

Afarias

Afarias

16/06/2004

bom, vc faz assim...


...o q mesmo q vc quer fazer?! :? realmente não entendi! :D



T+


GOSTEI 0
Rodolpho123

Rodolpho123

16/06/2004

Bem, o que eu estou querendo é + ou - assim:
tenho uma tabela com dados de clientes onde reservei 5 campos para seus dependentes. Minha idéia é construir uma Query onde o liste todos os dependentes (independente de campo) e o código do titular, tudo em uma linha só. A meta é: Quando o dependente esquecer o código do titular, seria feita uma consulta tipo LIKE abc¬ e listaria todos os dependentes relativos à consulta. Sei que isso ficaria muito mais fácil e dinâmico se eu reservasse uma tabela só para dependentes, mas o aplicativo já foi feito assim e estou tentando me adaptar.


GOSTEI 0
Afarias

Afarias

16/06/2004

algo assim (para IB6/FB1 ou superiores)::


set term ^;

create procedure dependentes (cod_titular varchar(20)) 
  returns (titular varchar(20), dependene varchar(20)) 
as
  declare variable dep1 varchar(20);
  declare variable dep2 varchar(20);
  declare variable dep3 varchar(20);
  declare variable dep4 varchar(20);
  declare variable dep5 varchar(20);
begin

  for select titular, dep1, dep2, dep3, dep4, dep5 from tabela
       where cod_titular starting with :cod_titular
       into :titular, :dep1, :dep2, :dep3, :dep4, :dep5 do
  begin

     if (dep1 is not null) then
     begin
        dependente = dep1;
        suspend;
     end

     if (dep2 is not null) then
     begin
        dependente = dep2;
        suspend;
     end

     if (dep3 is not null) then
     begin
        dependente = dep3;
        suspend;
     end

     if (dep4 is not null) then
     begin
        dependente = dep4;
        suspend;
     end

     if (dep5 is not null) then
     begin
        dependente = dep5;
        suspend;
     end

  end

end^




dai vc usa::


select * from dependentes (´ABC´);

e ele busca todos os dependentes com titular cujo código esteja começando com ABC

T+


GOSTEI 0
POSTAR