none
RELATORIO SQL RRS feed

  • Pergunta

  • Bom dia. 

    estou desenvolvendo o seguinte relatorio SQL:

    SELECT pd.filial, SUM(it.quant * it.preco)


    FROM pediclicad pd 
    join Vendasscad ve on pd.numped = ve.numped
    join ITEMCLICAD it on it.numped = pd.numped
    left outer join PRODUTOCAD p on it.codpro = p.codpro

    WHERE 


    pd.sitven = '2' 
    AND left(pd.tpo,1) = '2'         
    and pd.filial = 23
    AND ve.DtVen >= '20130626'
    AND ve.DtVen <= '20130725' 
    and pd.codvend = '00572'

    group by pd.filial

    na tabela produtocad eu tenho a classe dos produtos ,que pode ser: 01, 02, 03 e 04.  na tabela itemclicad eu tenho o valor dos produtos.

    qual estrutura eu devo utilizar para exibir a soma do valor dos produtos de cada classe, em colunas diferentes?

    Obrigado.

    quarta-feira, 14 de agosto de 2013 12:18

Todas as Respostas

  • Cesar,

    O que voce diz em colunas diferentes? Poderia colocar um exemplo de como voce tem os dados hoje e como gostaria de te-los a partir do select?


    <b>Fabrizzio A. Caputo</b><br/> Certificações:<br/> MCT<br/> MCC<br/> Oracle OCA 11g<br/> MCITP SQL Server 2008 BI<br/> MCITP SQL Server 2008 Implementation and Maintenance<br/> MCITP SQL Server 2008 Developer<br/> ITIL V3 Foundation <br/> Blog Pessoal: <a href="http://fabrizziocaputo.wordpress.com">www.fabrizziocaputo.wordpress.com</a><br/> Email: fabrizzio.antoniaci@gmail.com

    quarta-feira, 14 de agosto de 2013 12:28
    Moderador
  • Fabrizzio, bom dia. 

    o que eu tenho é isso:

    O que estou querendo é somar os valores dos produtos por classe de produtos: quando a classe iniciar com 01, soma numa coluna, iniciando com 02 soma os valores em outra coluna,etc... 

    att

    quarta-feira, 14 de agosto de 2013 12:34
  • Cesar,

    Voce espera algo similiar a qual das opções abaixo:

    Classe      Total

    01            Soma do campo preco para dos que iniciam com 01

    02            Soma do campo preco para dos que iniciam com 02

    03            Soma do campo preco para dos que iniciam com 03

    ou....

    01                   02                03

    Soma             Soma           Soma


    <b>Fabrizzio A. Caputo</b><br/> Certificações:<br/> MCT<br/> MCC<br/> Oracle OCA 11g<br/> MCITP SQL Server 2008 BI<br/> MCITP SQL Server 2008 Implementation and Maintenance<br/> MCITP SQL Server 2008 Developer<br/> ITIL V3 Foundation <br/> Blog Pessoal: <a href="http://fabrizziocaputo.wordpress.com">www.fabrizziocaputo.wordpress.com</a><br/> Email: fabrizzio.antoniaci@gmail.com

    quarta-feira, 14 de agosto de 2013 12:37
    Moderador
  • essa opção:

    01                   02                03

    Soma             Soma           Soma

    quarta-feira, 14 de agosto de 2013 12:47
  • César,

    Caso esteja fazendo direto via procedure voce pode utilizar a codificação abaixo que faz o uso do recurso chamado PIVOT TABLE disponivel a partir do sql server 2008.

    --Table Creation
    DECLARE @t1 TABLE
    (
    	Filial	INT,
    	Codigo	INT,
    	Preco	DECIMAL(18,2),
    	Classe	VARCHAR(10)
    )
    
    --Data load
    INSERT INTO @t1(Filial, Codigo, Preco, Classe) VALUES
    (23, 123, 18.02, '01123'),
    (23, 123, 19.02, '01124'),
    (23, 123, 11.02, '02125'),
    (23, 123, 12.02, '02126'),
    (23, 123, 13.02, '03127')
    
    --Final select
    SELECT
    	pvt.*
    FROM
    (
    	SELECT
    		LEFT(a.Classe, 2) As Classe,
    		SUM(a.Preco) As Total
    	FROM @t1 a
    	GROUP BY
    		LEFT(a.Classe, 2)
    ) b
    PIVOT
    (
    	SUM(Total) FOR Classe IN ([01], [02], [03])
    ) pvt

    Caso esteja fazendo o relatorio (Conforme titulo da thread) pelo SSRS, basta coloca-lo em uma matrix, segue um link de como utilizar uma matriz:

    http://technet.microsoft.com/en-us/library/dd207149.aspx

    Neste aspecto não há diferença entre 2012 entre 2008.


    <b>Fabrizzio A. Caputo</b><br/> Certificações:<br/> MCT<br/> MCC<br/> Oracle OCA 11g<br/> MCITP SQL Server 2008 BI<br/> MCITP SQL Server 2008 Implementation and Maintenance<br/> MCITP SQL Server 2008 Developer<br/> ITIL V3 Foundation <br/> Blog Pessoal: <a href="http://fabrizziocaputo.wordpress.com">www.fabrizziocaputo.wordpress.com</a><br/> Email: fabrizzio.antoniaci@gmail.com

    quarta-feira, 14 de agosto de 2013 12:55
    Moderador