none
Consulta SQL

    Question

  • Caros amigos, estou tendo a necessidade de criar um sql para selecionar todos as perguntas dentro de uma condição, irei postar minha sp para ficar mais clara a idéia.

    Em amarelo tenho a pergunta que será listada, necessito algo como quando:

     

    CASE WHEN PP.GrupoGrafico = 1 then P.NomePergunta as Pergunta,

    ELSE null

    END as GrupoGrafico

     

    A idéia a  na realidade  que estou querendo dizer que na minha tabela "Produtos" tenho um campo Pergunta e tenho um campo GrupoGrafico, que tem valores de 1 a 4, ou seja o usuário irá especificar para qual gráfico irá a determinada pergunta, caso necessite de maiores explicações por favor não exitem e obrigado desde já a todos.

     

    ALTER Procedure dbo.PROC_RELATORIOGRAFICO_LOCAL

    @CodCampanha INT,

    @BitGrafico BIT

    AS

    Select P.NomePergunta as Pergunta,ISNULL(PR.DscProduto,'') as Produto,E.Fantasia as Loja,

    COUNT(*) as Ocorrencias,

    CASE WHEN PP.BitRelatorioMedia = 1 then AVG(dbo.getResposta(COP.Respostas))

    ELSE null

    END as Media,

    CASE WHEN PP.BitRelatorioTotal = 1 then SUM(dbo.getResposta(COP.Respostas))

    ELSE null

    END as Total,

    from ControleOcorrencia CO with (nolock)

    inner join Periodo PE with (nolock) on

    CO.CodPeriodo = PE.CodPeriodo

    inner join ControleOcorrencia_Pergunta COP with (nolock) on

    CO.CodOcorrencia = COP.CodOcorrencia

    inner join Pergunta P with (nolock) on

    COP.CodPergunta = P.CodPergunta

    inner join Empresa E with (nolock) on

    CO.CodLocal = E.CodEmpresa

    inner join Cidade CID with (nolock) on

    CID.CodCidade = E.CodCidade

    inner join Periodo_Pergunta PP with (nolock) on

    COP.CodPergunta = PP.CodPergunta

    and CO.CodPeriodo = PP.CodPeriodo

    and (PP.BitGrafico = @BitGrafico or @BitGrafico is null)

    left join Periodo_Produto PR with (nolock) on

    CO.CodPeriodo = PR.CodPeriodo

    and COP.CodPeriodoProduto = PR.CodPeriodoProduto

    where P.TipoEntrada in (1,2)

    and COP.BitIgnorar = 0

    and PE.CodCampanha = @CodCampanha

    group by COP.CodPergunta,P.NomePergunta,PR.DscProduto,E.CodEmpresa,E.Fantasia,PP.BitRelatorioMedia,PP.BitRelatorioTotal

    order by E.Fantasia,P.NomePergunta

    Tuesday, November 27, 2007 3:30 PM

All replies

  • Leandro,

     

    Este valor referente a pergunta será informado pelo usuário?

    Tuesday, November 27, 2007 3:38 PM
  • Pedro,

     

    Exatamente, o usuário que vai selecionar o valor, ae com o valor selecionar eu monto minha sp para passar esse valores para o relatório.

     

    Abraços,

    Tuesday, November 27, 2007 3:48 PM