Jump to content
Fórum Script Brasil
  • 0

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


marcosfj1

Question

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

Edited by Denis Courcy
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...