AJUDA NA CLAUSULA SQL NO MYSQL

MAMONALTA 22/08/2012 15:13:11
#408346
tenho a seguinte clausula
SELECT MONTH(tb_agenda.inicio) MONTH, COUNT(tb_agenda.id) as Agendamentos,
SUM(CASE tb_agenda.'Status' when [ô]Agendado[ô] THEN 1 ELSE NULL END) Agendado,
SUM(CASE tb_agenda.'Status' when [ô]Atendido[ô] THEN 1 ELSE NULL END) Atendido,
SUM(CASE tb_agenda.'Status' when [ô]Cancelado[ô] THEN 1 ELSE NULL END) Cancelado
from(tb_agenda)
left join group by MONTH(tb_agenda.inicio)

que retorna...
MES, Total de Agendamentos, Total de Atendimentos, TOtal de Cancelados..
01,44,43,1

até ai sussa... mas tenho a tabela detalhes da agenda... que tem os valores... e eu queria que retornasse assim.
MES, Total de Agendamentos, Total de Atendimentos, TOtal de Cancelados, Valor TOTAL
01,44,43,1,R$500

como faço isso? a outra tabela se chama tb_detalhes_agenda,
nela tenho um campo chamado id_tb_agenda, um campo QTD e outro VaLOR preciso multiplicar os dois para dar o valor daquele serviço e fazer um sum no resultado para todos os outros que tiverem... tentei tentei tentei... e até agora nao consegui isso :( alguém consegue me ajudar?

obrigado desde já
ROBSON220BASS 22/08/2012 15:24:01
#408347
Resposta escolhida
SELECT MONTH(tb_agenda.inicio) MONTH, COUNT(tb_agenda.id) as Agendamentos,
SUM(CASE tb_agenda.'Status' when [ô]Agendado[ô] THEN 1 ELSE NULL END) Agendado,
SUM(CASE tb_agenda.'Status' when [ô]Atendido[ô] THEN 1 ELSE NULL END) Atendido,
SUM(CASE tb_agenda.'Status' when [ô]Cancelado[ô] THEN 1 ELSE NULL END) Cancelado,
(SELECT SUM(QTD*VALOR) FROM tb_detalhes_agenda where id_tb_agenda=tb_agenda.id) as [ô]VALOR TOTAL[ô]
from(tb_agenda)
left join group by MONTH(tb_agenda.inicio)

ja tentou assim... ve ai se da.?

qualquer coisa post novamente
MAMONALTA 22/08/2012 15:49:16
#408350
ROBSON220BASS Obrigado, fiz umas correções mas seu código está perfeito.

não sabia que podiamos fazer outra consulta dentro de uma consulta...
show de bola

obrigado
MAMONALTA 22/08/2012 16:10:39
#408352
ROBSON220BASS... comemorei mto cedo.

os resultados estão:

Month, agendamentos, agendado, atendido, cancelado, valor total
3, 44, 1, 43, Null, Null


e eu testei a sintase sql separado... ela está funcionando... mas junto... nao tá somando não...
:(
MAMONALTA 22/08/2012 16:13:35
#408354
pronto agora... sim

SELECT MONTH(tb_agenda.inicio) MONTH, COUNT(tb_agenda.id) as Agendamentos,
SUM(CASE tb_agenda.'Status' when [ô]Agendado[ô] THEN 1 ELSE NULL END) Agendado,
SUM(CASE tb_agenda.'Status' when [ô]Atendido[ô] THEN 1 ELSE NULL END) Atendido,
SUM(CASE tb_agenda.'Status' when [ô]Cancelado[ô] THEN 1 ELSE NULL END) Cancelado,
SUM((SELECT SUM(qtd*preco) FROM tb_detalhes_agenda where id_tb_agenda=tb_agenda.id and tipo = [ô]0[ô] AND
preco > [ô]0[ô] AND qtd > [ô]0[ô])) as [ô]VALOR TOTAL[ô]
from(tb_agenda)
group by MONTH(tb_agenda.inicio)

faltou fazer um sum de tudo.... que tá no select tb!
Tópico encerrado , respostas não são mais permitidas