Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Condição IF dentro da consulta SQL


marcosfj1

Pergunta

Bom galera seguinte, não sei muito de Mysql sei apenas me virar....mas a necessidade me fez precisar do seguinte

Em php eu faço assim

$sql = "SELECT PE.id_pedido,SUM(vl_frete) AS vl_frete_dia, C.tipo, C.id_cliente_tipo, PE.vl_desconto, PE.vl_frete, COUNT(PE.id_pedido) AS total_pedidos 
        FROM pedido PE 
        GROUP BY DAY(dt_pedido) 
        ORDER BY dt_pedido ASC "; 
$req = mysql_query($sql) or die(mysql_error()); 

while ($cp = mysql_fetch_array($req)) {  
if($cp['id_cliente_tipo'] == 1){ 
        $qt_logista++; 
        $vl_logista += $cp['vl_total'];  
}elseif($cp['tipo'] == 1){ 
        $qt_consumidor++; 
        $vl_consumidor += $cp['vl_total'];  
}elseif($cp['id_cliente_tipo'] == 2){ 
        $qt_prof++; 
        $vl_prof += $cp['vl_total'];  
} 
}

Assim eu verifico o tipo do cliente e identifico ele nessas 3 possibilidades, e jogo na variavel correspondente ....em uma das variaveis somo a quantidade de clientes encontrados de cada tipo, na outra o valor q aquele cliente já gastou

É possivel fazer isso direto na consulta....tipo la mesmo eu já conto quantos clientes tem de cada tipo, e somo o valor q cada um gastou?

Valeu

Editado por Denis Courcy
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Está faltando a tabela de apelido C na sua consulta. Eu completei como sendo cliente. É isso mesmo? Qual a diferença entre C.tipo e C.tipo_cliente_id ? Agrupar pelo dia vai misturar dias de meses diferentes. É isso mesmo que você quer? Eu mudei para diferenciar os dias:

select 
    pe.id_pedido,
    sum(vl_frete) as vl_frete_dia, 
    c.tipo, 
    c.id_cliente_tipo, 
    pe.vl_desconto, 
    pe.vl_frete, 
    count(pe.id_pedido) as total_pedidos
from pedido pe
inner join cliente c on c.id = pe.cliente_id
group by cast(dt_pedido as date)
order by dt_pedido asc

Link para o comentário
Compartilhar em outros sites

  • 0

Opa amigo obrigado por tentar ajudar....mas na verdade esta consulta SQL no meu sistema já está funcionando, eu apenas coloquei ela resumida aqui no forum com parte dos dados e tabelas que eu estou utilizando na real consulta

Pois na verdade o que eu preciso mesmo é aquilo que perguntei no tópico, como usar um comando IF para identificar o tipo do cliente

Assim como eu fiz na programação em PHP queria saber se é possivel fazer direto na consulta MySQL....por isso não precisa se preocupar com arrumar os dados que coloquei ai, pois eles estao incompletos, apenas para efeito de explicação....o q eu quero e preciso mesmo é conseguir fazer os IFs e ELSEs da programação para a consulta SQL

Valeu

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...