Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Transformar linhas em colunas

Ola pessoal boa tarde, eu denovo,

Preciso transformar linhas em colunas num script e depois concatenar os dados, função semelhante ao Group_concat do My SQL, alguém conhece no QV como fazer?

Explicando melhor para quem não conhece a função Group_concat do My SQL ela transforma linhas em colunas de acoro com o separados decimal.

Abaixo um exemplo:

Demonstrar somente em uma linha todos os códigos de produtos da categoria frios.

 Select Group_concat(codigo_produto) From produtos Where categoria = 'Frios';  
 Results 1,7,25,78... 

No meu caso o meu banco não é My SQL e tão pouco o meu select não tem essa função, alguém conhece algo parecido no QV?

Ou o mesmo que Transform do Access sem o Grou By. è possível ?

1 Solution

Accepted Solutions
Not applicable
Author

Bom dia!

Fiz um teste aqui..

Tabela:

load * inline

[COD,CATEGORIA,DESC

1,FRIOS,SALAME,

2,FRIOS,QUEIJO

3,DOCE,CHOCOLATE

4,DOCE,BALA

5,FRIOS,PRESUNTO

];

Minha_Tabela:

Load Concat(COD&',') as Teste

Resident Tabela

where CATEGORIA = 'FRIOS';

Espero que ajude!

View solution in original post

4 Replies
aderlanrm
Partner - Specialist
Partner - Specialist

Olá Weslley,

Dá uma olhada na função SubField:

subfield(S, ';' ,2) retorna 'cde' se S for 'abc;cde;efg'

subfield(S, ';' ,1) retornará NULL se S for um caractere vazio

subfield(S, ';' ,1) retornará um caractere vazio se S for ':'

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dados e Piloto Amador Drone FPV
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
Not applicable
Author

Bom dia!

Fiz um teste aqui..

Tabela:

load * inline

[COD,CATEGORIA,DESC

1,FRIOS,SALAME,

2,FRIOS,QUEIJO

3,DOCE,CHOCOLATE

4,DOCE,BALA

5,FRIOS,PRESUNTO

];

Minha_Tabela:

Load Concat(COD&',') as Teste

Resident Tabela

where CATEGORIA = 'FRIOS';

Espero que ajude!

Not applicable
Author

Perfeito o seu exemplo...

Tabela:

Rebeca Gums wrote:

Bom dia!

Fiz um teste aqui..

Tabela:

load * inline

[COD,CATEGORIA,DESC

1,FRIOS,SALAME,

2,FRIOS,QUEIJO

3,DOCE,CHOCOLATE

4,DOCE,BALA

5,FRIOS,PRESUNTO

];

Minha_Tabela:

Load Concat(COD&',') as Teste

Resident Tabela

where CATEGORIA = 'FRIOS';

Espero que ajude!

load * inline

    [COD,CATEGORIA,DESC

    1,FRIOS,SALAME,

    2,FRIOS,QUEIJO

    3,DOCE,CHOCOLATE

    4,DOCE,BALA

    5,FRIOS,PRESUNTO];

    Minha_Tabela:

Load

    Concat(COD&',') as Teste

Resident Tabela

    where CATEGORIA = 'FRIOS';

DROP Table Tabela;

Obrigado

Not applicable
Author

Ei!

Que bom que ajudou!

Att.

Rebeca