Boa tarde, estou com um problema em meu sql, estou fazendo um relatório onde tenho que obter o valor da soma da venda de tickets de bilheteria de um cinema.
tentei fazer um sum utilizando case e distinct mas infelizmente está acusando erro de sintaxe, por favor se alguém puder ajudar ficarei imensamente agradecido.
segue o código abaixo.
SELECT DATE_FORMAT(D.Data,'%d/%m/%Y') as Data, H.Horario, L.Linguagem, G.Genero, I.Indicacao, E.InteiraEspetaculo, P.EmpresaGrupo, P.Representante, E.Espetaculo, COUNT(DISTINCT(VI.ID)) AS QtdPublico, SUM(CASE WHEN DISTINCT(VI.ID) THEN VI.Total end) AS Total, <--- essa linha. SUM(DISTINCT(OC.Valor)) AS OutrosCustos
FROM tblEspetaculo AS E INNER JOIN tblLinguagem as L ON L.ID = E.fk_IDLinguagem INNER JOIN tblIndicacao as I ON I.ID = E.fk_IDIndicacao INNER JOIN tblProdutor as P ON P.ID = E.fk_IDProdutor INNER JOIN tblGenero as G ON G.ID = E.fk_IDGenero INNER JOIN tblOutrosCustos as OC ON E.ID = OC.fk_IDEspetaculo INNER JOIN tblTaxas as T ON E.ID = T.fk_IDEspetaculo INNER JOIN tblData as D ON E.ID = D.fk_IDEspetaculo INNER JOIN tblHorario as H ON D.ID = H.fk_IDData INNER JOIN tblVendaIngresso as VI ON H.ID = VI.fk_IDHorario INNER JOIN tblIngresso as ING ON ING.ID = fk_IDIngresso WHERE DATE_FORMAT(VI.Data,"%Y") = "2015" GROUP BY E.ID, D.Data, H.Horario
Obs: foi testado todo o sql sem aquela linha e funciona perfeitamente.
Pergunta
danniell2
Boa tarde, estou com um problema em meu sql, estou fazendo um relatório onde tenho que obter o valor da soma da venda de tickets de bilheteria de um cinema.
tentei fazer um sum utilizando case e distinct mas infelizmente está acusando erro de sintaxe, por favor se alguém puder ajudar ficarei imensamente agradecido.
segue o código abaixo.
SELECT
DATE_FORMAT(D.Data,'%d/%m/%Y') as Data,
H.Horario,
L.Linguagem,
G.Genero,
I.Indicacao,
E.InteiraEspetaculo,
P.EmpresaGrupo,
P.Representante,
E.Espetaculo,
COUNT(DISTINCT(VI.ID)) AS QtdPublico,
SUM(CASE WHEN DISTINCT(VI.ID) THEN VI.Total end) AS Total, <--- essa linha.
SUM(DISTINCT(OC.Valor)) AS OutrosCustos
FROM
tblEspetaculo AS E
INNER JOIN tblLinguagem as L ON L.ID = E.fk_IDLinguagem
INNER JOIN tblIndicacao as I ON I.ID = E.fk_IDIndicacao
INNER JOIN tblProdutor as P ON P.ID = E.fk_IDProdutor
INNER JOIN tblGenero as G ON G.ID = E.fk_IDGenero
INNER JOIN tblOutrosCustos as OC ON E.ID = OC.fk_IDEspetaculo
INNER JOIN tblTaxas as T ON E.ID = T.fk_IDEspetaculo
INNER JOIN tblData as D ON E.ID = D.fk_IDEspetaculo
INNER JOIN tblHorario as H ON D.ID = H.fk_IDData
INNER JOIN tblVendaIngresso as VI ON H.ID = VI.fk_IDHorario
INNER JOIN tblIngresso as ING ON ING.ID = fk_IDIngresso
WHERE
DATE_FORMAT(VI.Data,"%Y") = "2015"
GROUP BY E.ID, D.Data, H.Horario
Obs: foi testado todo o sql sem aquela linha e funciona perfeitamente.
Abraço.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.