ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Montar um select em uma linha só?
Ir à página 1, 2  Próximo
 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Jan 25, 2017 4:05 pm    Assunto: Montar um select em uma linha só? Responder com Citação

Tão me passando só bucha pra fazer, agora querem que eu monte este select aqui em apenas uma linha





Tudo dentro de apenas uma linha. Se isso for possivel
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qua Jan 25, 2017 4:59 pm    Assunto: Responder com Citação

Boa tarde,

PostgreSQL? Qual versão mesmo?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Jan 25, 2017 5:30 pm    Assunto: Responder com Citação

imex escreveu:
Boa tarde,

PostgreSQL? Qual versão mesmo?
Acho que 9.5.4
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Qua Jan 25, 2017 5:47 pm    Assunto: Responder com Citação

Parece que foi adicionada uma função (string_agg) para essa finalidade a partir da versão 9.0. Ex:

Código:
select string_agg(fp.nome_reduzido2 || ' ' || vp.valor_pgto || ' ' || vp.vlr_troco, ' | ')
from ...


Espero que ajude

_________________
Assinatura: http://www.imoveisemexposicao.com.br/imoveis-alugar-guarulhos-residencial-casa
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Qua Jan 25, 2017 5:55 pm    Assunto: Responder com Citação

imex escreveu:
Parece que foi adicionada uma função (string_agg) para essa finalidade a partir da versão 9.0. Ex:

Código:
select string_agg(fp.nome_reduzido2 || ' ' || vp.valor_pgto || ' ' || vp.vlr_troco, ' | ')
from ...


Espero que ajude

_________________
Assinatura: http://www.imoveisemexposicao.com.br/imoveis-alugar-guarulhos-residencial-casa
Isso mesmo Imex.

Obrigado amigo.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Jan 30, 2017 9:10 am    Assunto: Responder com Citação

Bom dia,

Tem como somar o resultado pra trazer numa linha só?

Exemplo do select


Na primeira linha tem carnê e troco
Somar o total de carnê e o troco no final

Na segunda linha tem visa card, dinheiro e troco somar e ficar o total do visa card, dinheiro, e troco no final

E assim pro outros?

Meu select esta sendo montado aqui neste
Código:
 WITH CTE_SUMVENDA AS                                                         
 (  SELECT
 v.data_venda as data_venda,
 CAST(v.data_venda || ' - ' || v.hora_venda AS VARCHAR(30)) as Data_Hora,
 v.id as nº_pedido,
 v.origem_venda,
 cl.nome,
 SUM(vi.qtd) AS Quantidade,     
 SUM(vi.qtd * vi.preco_tabela) AS Preço_Bruto,
 SUM(COALESCE(v.valor_final_desconto, 0) + (vi.qtd * vi.preco_tabela) - (vi.qtd * vi.preco_venda)) AS Desconto,
 SUM(vi.preco_tabela - (COALESCE(v.valor_final_desconto, 0) + (vi.qtd * vi.preco_tabela) - (vi.qtd * vi.preco_venda))) AS Total_Liquido,
 SUM(vi.qtd * vi.valor_preco_custo) AS Custo,                             
 SUM((vi.preco_tabela - (COALESCE(v.valor_final_desconto, 0) + (vi.qtd * vi.preco_tabela) - (vi.qtd * vi.preco_venda))) - (vi.qtd * vi.valor_preco_custo)) AS Lucro,


 ARRAY_TO_STRING(ARRAY_AGG(vi.nome_produto), ',') AS nome_produto,
 ARRAY_TO_STRING(ARRAY_AGG(vi.codigo_barra), ',') AS codigo_barra,

 STRING_AGG(fp.nome_reduzido2 || ' ' || vp.valor_pgto || ' Troco ' || COALESCE(vp.vlr_troco, 0), '  ') AS pagamento
         
 FROM venda V                                                               
 INNER JOIN cliente cl ON v.id_cliente = cl.id                             
 INNER JOIN venda_itens vi ON v.id = vi.id_venda
 INNER JOIN venda_pagamento vp ON v.id = vp.id_venda
 INNER JOIN forma_pagamento fp ON vp.id_forma_pgto = fp.id
                             
 WHERE v.situacao = 'C'
 AND data_venda BETWEEN '25/01/2017' AND '26/01/2017'
 --AND codigo_barra IN ('9515396033590', '12345678')
 --AND nome_produto LIKE 'Ab%'
 
 --AND V.ID IN (485,486)
 GROUP BY 1,2,3,4,5 --data_venda, Data_Hora, nº_pedido, origem_venda, nome                                                           
 )                                                         
 SELECT
 data_venda,
 Data_Hora,
 nº_pedido,
 origem_venda,
 
 CASE WHEN nº_pedido IS NULL
        THEN
            CASE WHEN data_venda IS NULL
                THEN 'Total geral'
                ELSE 'Total do dia'
            END
        ELSE nome
   END AS nome,
                         
 CAST(CAST(SUM(Quantidade) AS NUMERIC(15,0)) AS VARCHAR(30)) as Quantidade,     
 CAST(TO_CHAR(SUM(Preço_Bruto),'R$  999G999G990D99')as varchar(30)) as Preço_Bruto,     
 CAST(TO_CHAR(SUM(Desconto),'R$  999G999G990D99')as varchar(30)) as Desconto,     
 CAST(TO_CHAR(SUM(Total_Liquido),'R$  999G999G990D99')as varchar(30)) as Total_Liquido,     
 CAST(TO_CHAR(SUM(Custo),'R$  999G999G990D99')as varchar(30)) as Custo,     
 CAST(TO_CHAR(SUM(Lucro),'R$  999G999G990D99')as varchar(30)) as Lucro,
 codigo_barra,
 nome_produto,
 pagamento,
 CAST('F' as varchar(10)) as pagamento,                 
 CAST('L' as varchar(10)) as visualizar                                                   
 FROM CTE_SUMVENDA   
                                       
 GROUP BY GROUPING SETS                                                     
 ( (data_venda, Data_Hora, nº_pedido, origem_venda, nome, nome_produto, codigo_barra, pagamento), (data_venda), () )
 ORDER BY data_venda, Data_Hora     


Obrigado.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Jan 30, 2017 9:31 am    Assunto: Responder com Citação

Opa, to vendo aqui

Parece que meu select acima esta errado o resultado.

Vou ver aqui antes de continuar este post.

Obrigado.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Jan 30, 2017 9:41 am    Assunto: Responder com Citação

Vamos la

Fiz uma venda que o valor final é 1.391,60 o cliente pagou com 3 x no cartao visa, 333,33 e a ultima parcela 333,34, 200,00 no boleto, e mais 200,00 no dinheiro = 1.400,00 e teve um troco de 8,40.

No meu select assim com os campos comentados
Citação:
--INNER JOIN venda_pagamento vp ON v.id = vp.id_venda
--INNER JOIN forma_pagamento fp ON vp.id_forma_pgto = fp.id

Aparece o valor correto
Código:
 WITH CTE_SUMVENDA AS                                                         
 (  SELECT
 v.data_venda as data_venda,
 CAST(v.data_venda || ' - ' || v.hora_venda AS VARCHAR(30)) as Data_Hora,
 v.id as nº_pedido,
 v.origem_venda,
 cl.nome,
 SUM(vi.qtd) AS Quantidade,     
 SUM(vi.qtd * vi.preco_tabela) AS Preço_Bruto,
 SUM(COALESCE(v.valor_final_desconto, 0) + (vi.qtd * vi.preco_tabela) - (vi.qtd * vi.preco_venda)) AS Desconto,
 SUM(vi.preco_tabela - (COALESCE(v.valor_final_desconto, 0) + (vi.qtd * vi.preco_tabela) - (vi.qtd * vi.preco_venda))) AS Total_Liquido,
 SUM(vi.qtd * vi.valor_preco_custo) AS Custo,                             
 SUM((vi.preco_tabela - (COALESCE(v.valor_final_desconto, 0) + (vi.qtd * vi.preco_tabela) - (vi.qtd * vi.preco_venda))) - (vi.qtd * vi.valor_preco_custo)) AS Lucro,


 ARRAY_TO_STRING(ARRAY_AGG(vi.nome_produto), ',') AS nome_produto,
 ARRAY_TO_STRING(ARRAY_AGG(vi.codigo_barra), ',') AS codigo_barra

 --STRING_AGG(fp.nome_reduzido2 || ' ' || vp.valor_pgto || ' Troco ' || COALESCE(vp.vlr_troco, 0), '  ') AS pagamento
         
 FROM venda V                                                               
 INNER JOIN cliente cl ON v.id_cliente = cl.id                             
 INNER JOIN venda_itens vi ON v.id = vi.id_venda
 --INNER JOIN venda_pagamento vp ON v.id = vp.id_venda
 --INNER JOIN forma_pagamento fp ON vp.id_forma_pgto = fp.id
                             
 WHERE v.situacao = 'C'
 AND data_venda BETWEEN '30/01/2017' AND '30/01/2017'
 --AND codigo_barra IN ('9515396033590', '12345678')
 --AND nome_produto LIKE 'Ab%'
 
 --AND V.ID IN (485,486)
 GROUP BY 1,2,3,4,5 --data_venda, Data_Hora, nº_pedido, origem_venda, nome                                                           
 )                                                         
 SELECT
 data_venda,
 Data_Hora,
 nº_pedido,
 origem_venda,
 
 CASE WHEN nº_pedido IS NULL
        THEN
            CASE WHEN data_venda IS NULL
                THEN 'Total geral'
                ELSE 'Total do dia'
            END
        ELSE nome
   END AS nome,
                         
 CAST(CAST(SUM(Quantidade) AS NUMERIC(15,0)) AS VARCHAR(30)) as Quantidade,     
 CAST(TO_CHAR(SUM(Preço_Bruto),'R$  999G999G990D99')as varchar(30)) as Preço_Bruto,     
 CAST(TO_CHAR(SUM(Desconto),'R$  999G999G990D99')as varchar(30)) as Desconto,     
 CAST(TO_CHAR(SUM(Total_Liquido),'R$  999G999G990D99')as varchar(30)) as Total_Liquido,     
 CAST(TO_CHAR(SUM(Custo),'R$  999G999G990D99')as varchar(30)) as Custo,     
 CAST(TO_CHAR(SUM(Lucro),'R$  999G999G990D99')as varchar(30)) as Lucro,
 codigo_barra,
 nome_produto,
 --pagamento,
 CAST('F' as varchar(10)) as pagamento,                 
 CAST('L' as varchar(10)) as visualizar                                                   
 FROM CTE_SUMVENDA   
                                       
 GROUP BY GROUPING SETS                                                     
 ( (data_venda, Data_Hora, nº_pedido, origem_venda, nome, nome_produto, codigo_barra, pagamento), (data_venda), () )
 ORDER BY data_venda, Data_Hora     


Mais preciso trazer estas informações que passei acima no select em um campo assim
Citação:
cartao 1.000,00 Boleto 200,00 Dinheiro 200,00 Troco 8,40



Obrigado.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Jan 30, 2017 10:04 am    Assunto: Responder com Citação

Quando executo este select aqui
Código:
SELECT
SUM(vp.valor_pgto),
SUM(vp.vlr_troco),
STRING_AGG(fp.nome_reduzido2 || ' ' || vp.valor_pgto || ' Troco ' || COALESCE(vp.vlr_troco, 0), '  ') AS pagamento
FROM venda_pagamento vp 
INNER JOIN forma_pagamento fp ON vp.id_forma_pgto = fp.id
WHERE Vp.ID_venda = 490

Me traz o valor certo da soma, apenas o string_agg que preciso arrumar

Ja quando faço buscando a soma da tabela vendas_itens
Código:
SELECT
SUM(vi.qtd * vi.preco_tabela) AS Preço_Bruto,
SUM(vp.valor_pgto),
SUM(vp.vlr_troco),
STRING_AGG(fp.nome_reduzido2 || ' ' || vp.valor_pgto || ' Troco ' || COALESCE(vp.vlr_troco, 0), '  ') AS pagamento
FROM venda v 
INNER JOIN venda_itens vi ON v.id = vi.id_venda                                                             
INNER JOIN venda_pagamento vp ON v.id = vp.id_venda
INNER JOIN forma_pagamento fp ON vp.id_forma_pgto = fp.id
WHERE VP.ID_VENDA = 490


a soma Preço_Bruto aumenta 5 X o valor (acho que é porque na tabela venda_pagamento foi executado 5 x os pagamentos.
e os campos
Código:
SUM(vp.valor_pgto),
SUM(vp.vlr_troco),

Dobram o valor
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Jan 30, 2017 10:22 am    Assunto: Responder com Citação

Se conseguir trazer o resultado assim:
Citação:
cartao 1.000,00 Boleto 200,00 Dinheiro 200,00 Troco 8,40


Desta venda:
Citação:
Fiz uma venda que o valor final é 1.391,60 o cliente pagou com 3 x no cartao visa, 333,33 e a ultima parcela 333,34, 200,00 no boleto, e mais 200,00 no dinheiro = 1.400,00 e teve um troco de 8,40.


neste select aqui
Código:
SELECT
SUM(vp.valor_pgto),
SUM(vp.vlr_troco),
STRING_AGG(fp.nome_reduzido2 || ' ' || vp.valor_pgto || ' Troco ' || COALESCE(vp.vlr_troco, 0), '  ') AS pagamento
FROM venda_pagamento vp 
INNER JOIN forma_pagamento fp ON vp.id_forma_pgto = fp.id
WHERE Vp.ID_venda = 490


Ja resolve
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Jan 30, 2017 10:36 am    Assunto: Responder com Citação

Como você está retornando somente um valor da tabela de itens, acho que seria mais simples utilizar uma subquery para obter esse valor, sendo que nesse caso essa tabela seria removida do Join, o que deve evitar o problema som os outros valores.

Espero que ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Jan 30, 2017 10:50 am    Assunto: Responder com Citação

imex escreveu:
Como você está retornando somente um valor da tabela de itens, acho que seria mais simples utilizar uma subquery para obter esse valor, sendo que nesse caso essa tabela seria removida do Join, o que deve evitar o problema som os outros valores.

Espero que ajude
Desculpe mais não entendi.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Jan 30, 2017 11:05 am    Assunto: Responder com Citação

Experimente dessa forma:

Código:
SELECT
    (select SUM(vi.qtd * vi.preco_tabela)
     from venda_itens vi
     where v.id = vi.id_venda) AS Preço_Bruto,
    SUM(vp.valor_pgto),
    SUM(vp.vlr_troco),
    STRING_AGG(fp.nome_reduzido2 || ' ' || vp.valor_pgto || ' Troco ' || COALESCE(vp.vlr_troco, 0), '  ') AS pagamento
FROM venda v 
INNER JOIN venda_pagamento vp ON v.id = vp.id_venda
INNER JOIN forma_pagamento fp ON vp.id_forma_pgto = fp.id
WHERE v.id = 490


obs: talvez seja necessário adicionar o Group By no final com o campo v.id

Espero que ajude
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Jan 30, 2017 12:29 pm    Assunto: Responder com Citação

Na verdade Imex, o que eu preciso agora é mostrar apenas o campo pagamento mais não desta forma aqui


Na venda esta assim
Citação:
Fiz uma venda que o valor final é 1.391,60 o cliente pagou com 3 x no cartao visa, 333,33 e a ultima parcela 333,34, 200,00 no boleto, e mais 200,00 no dinheiro = 1.400,00 e teve um troco de 8,40.


O que eu preciso é no campo pagamento (nem precisa ter estes dois campos somados ai no select), mais o resultado do campo pagamento deve ficar em uma linha só assim
Citação:
DINHEIRO 200,00 (SE TIVESSE MAIS TERIA QUE SOMAR O VALOR)
VISA CARD 1.000,00 (FOI SOMADO O VALOR)
BOLETO 200,00 (SE TIVESSE MAIS PAGAMENTO COM BOLETO SOMAR TAMBEM)
TROCO 8,40

_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Jan 30, 2017 1:57 pm    Assunto: Responder com Citação

adriano_servitec escreveu:
Na verdade Imex, o que eu preciso agora é mostrar apenas o campo pagamento mais não desta forma aqui


Na venda esta assim
Citação:
Fiz uma venda que o valor final é 1.391,60 o cliente pagou com 3 x no cartao visa, 333,33 e a ultima parcela 333,34, 200,00 no boleto, e mais 200,00 no dinheiro = 1.400,00 e teve um troco de 8,40.


O que eu preciso é no campo pagamento (nem precisa ter estes dois campos somados ai no select), mais o resultado do campo pagamento deve ficar em uma linha só assim
Citação:
DINHEIRO 200,00 (SE TIVESSE MAIS TERIA QUE SOMAR O VALOR)
VISA CARD 1.000,00 (FOI SOMADO O VALOR)
BOLETO 200,00 (SE TIVESSE MAIS PAGAMENTO COM BOLETO SOMAR TAMBEM)
TROCO 8,40


Nem precisa trazer o resultado em uma unica linha, porém gostaria de trazer o resultado somado com o vlr_troco no final (ultima linha)

Algo + ou - assim
Código:
SELECT
fp.nome_reduzido2,
CAST(TO_CHAR(sum(vp.valor_pgto),  'R$  999G999G990D99')as varchar(30)) as valor_pgto, 
CAST(TO_CHAR(sum(vp.vlr_troco),  'R$  999G999G990D99')as varchar(30)) as vlr_troco 
FROM venda_pagamento vp
INNER JOIN forma_pagamento fp on vp.id_forma_pgto = fp.id
INNER JOIN venda v on vp.id_venda = v.id
WHERE  v.data_venda BETWEEN '30/01/2017' AND '30/01/2017'
AND v.situacao = 'C' 
GROUP BY 1 ORDER BY 2 DESC


Só que ai tenho duas colunas, quero apenas uma com os dois campos.

Obrigado.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Ir à página 1, 2  Próximo
Página 1 de 2

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB