Jump to content
ndias

select count case

Recommended Posts

preciso fazer um select assim:

 

Select count(CASE WHEN tbl1.dtCadastro = CURDATE() THEN '' ELSE NULL END) as qtdDia, tbl2.id
from tbl1
inner join tbl2 on tbl2.id = tbl1.id and tbl2.id = 123
where tbl1.int = 190273

 

eu quero que o Count me traga q a quantidade de registros no dia, e por por conta do tbl2.id = 123 ele está trazendo apenas um

 

alguém pode me ajudar, por favor?

Share this post


Link to post
Share on other sites

Select sum(CASE WHEN tbl1 .dtCadastro = CURDATE() THEN 1 ELSE 0 END) as qtdDia, tbl2.id
from tbl1
inner join tbl2 on tbl2.id = tbl1.id and tbl2.id = 123
where tbl1.int = 190273

 

Mas deve ter uma forma melhor...

Share this post


Link to post
Share on other sites

@Mota eu tenho esse select:

 

select e.IDEmpresa, e.Razao, e.Ramo, e.Cidade
from tblconexoes c inner join tblempresa e on e.IDEmpresa = c.idEmpresa 
where c.Excluido = 'N' and c.idCV = 190273

 

Preciso acrescentar isso sum(CASE WHEN tbl1 .dtCadastro = CURDATE() THEN 1 ELSE 0 END) as qtdDia

 

Quero que o resultado seja 

 

3579 LIFE  Comércio varejista  BELO HORIZONTE 3
3578 VIBE  Comércio de produtos  SAO PAULO 3
3577 NICE  Comércio de serviços  RIO DE JANEIRO 3

 

Depois preciso acrescentar e.IDEmpresa = 3578 na cláusula where e quero que o resultado seja assim:

 

3578 VIBE  Comércio de produtos  SAO PAULO 3

Share this post


Link to post
Share on other sites
Citar

Preciso acrescentar isso sum(CASE WHEN tbl1 .dtCadastro = CURDATE() THEN 1 ELSE 0 END) as qtdDia

 

select e.IDEmpresa, e.Razao, e.Ramo, e.Cidade,
sum(CASE WHEN tbl1 .dtCadastro = CURDATE() THEN 1 ELSE 0 END) as qtdDia
from tblconexoes c inner join tblempresa e on e.IDEmpresa = c.idEmpresa 
where c.Excluido = 'N' and c.idCV = 190273
group by .IDEmpresa, e.Razao, e.Ramo, e.Cidade
Citar


Depois preciso acrescentar e.IDEmpresa = 3578 na cláusula where e quero que o resultado seja assim:

 


 

select e.IDEmpresa, e.Razao, e.Ramo, e.Cidade,
sum(CASE WHEN tbl1 .dtCadastro = CURDATE() THEN 1 ELSE 0 END) as qtdDia
from tblconexoes c inner join tblempresa e on e.IDEmpresa = c.idEmpresa 
where c.Excluido = 'N' and c.idCV = 190273
and IDEmpresa = 3578 
group by .IDEmpresa, e.Razao, e.Ramo, e.Cidade

Creio ser apenas isto 


 

Share this post


Link to post
Share on other sites
Em 27/07/2018 at 10:11, Motta disse:

 


select e.IDEmpresa, e.Razao, e.Ramo, e.Cidade,
sum(CASE WHEN tbl1 .dtCadastro = CURDATE() THEN 1 ELSE 0 END) as qtdDia
from tblconexoes c inner join tblempresa e on e.IDEmpresa = c.idEmpresa 
where c.Excluido = 'N' and c.idCV = 190273
group by .IDEmpresa, e.Razao, e.Ramo, e.Cidade


 


select e.IDEmpresa, e.Razao, e.Ramo, e.Cidade,
sum(CASE WHEN tbl1 .dtCadastro = CURDATE() THEN 1 ELSE 0 END) as qtdDia
from tblconexoes c inner join tblempresa e on e.IDEmpresa = c.idEmpresa 
where c.Excluido = 'N' and c.idCV = 190273
and IDEmpresa = 3578 
group by .IDEmpresa, e.Razao, e.Ramo, e.Cidade

Creio ser apenas isto 


 

muito obrigado @Mota É isso mesmo!!!

abraços

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Samuel Pietro
      Tenho um select em PDO e preciso que a consulta retornada vire uma variavel, mas a variavel só pega a ultima linha da tabela e eu preciso que pegue todas as linhas que existirem.
       
      $conexao = conexao::getInstance(); $sql = 'SELECT * FROM RegistroE'; $stm = $conexao->prepare($sql); $stm->execute(); $Sql = $stm->fetchAll(PDO::FETCH_OBJ); foreach ($Sql as $SqlReg): $conteudo_meio = picture_X($SqlReg->E_01,1) .picture_X($SqlReg->E_02,25) .picture_9($SqlReg->E_03,4) .picture_X($SqlReg->E_04,14) .picture_9($SqlReg->E_05,8) .picture_9($SqlReg->E_06,8) .picture_9($SqlReg->E_07,8) .picture_9($SqlReg->E_08,8) .picture_9($SqlReg->E_09,8) .complementoRegistro(96,"brancos") .picture_9($SqlReg->E_11,1) .complementoRegistro(1,"brancos") ; endforeach; Como eu poderia está fazendo isto?
    • By Anderson Campos da Silva
      Olá,
       
      Estou com um problema, que para alguns pode ser simples, é o seguinte:
       
      Tenho 2 tabela relacionadas, MODELO e EQUIPAMENTO
       
      TABELA MODELO
      idModelo (INT) - chave primária  
      txModelo (VARCHAR)
       
      TABELA EQUIPAMENTO 
      idEquipamento (INT) - chave primária   
      patrimonio (VARCHAR)
      situacao (VARCHAR)
      idModelo (INT) - Chave estrangeira
       
      O campo situação pode ser preenchido apenas apenas com PRODUÇÃO OU ESTOQUE.
       
      Enfim, preciso de um SELECT que retorne as seguintes colunas txModelo, quantidade de equipamentos por modelo, quantidade de equipamentos com PRODUÇÃO, e quantidade de equipamentos com ESTOQUE, exemplo:
       
      txModelo | total | produção | estoque
      CISCO           7            4                  3
      HP                15          10                 5
      DELL            10           2                   8
       
      Desde já agradeço
    • By Rengavitp
      Boa noite Pessoal,
       
      Estou tentando implementar um projeto em python, mas comecei a aprender python agora e estou tendo dificuldade em fazer comandos sql com ele. No código abaixo sempre recebo a mensagem de erro: 
      cursor.execute(sql,valor) File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 210, in execute query = query % args TypeError: not all arguments converted during string formatting  
      o código é este abaixo, se eu passar um valor fixo funciona normal, mas colocando valor dinamico nao vai...
      con = MySQLdb.connect(host="192.168.0.10, port=3306 user="@@@@", passwd="@@@@@@@@", db="acessos") cursor = con.cursor() valor = ('teste') sql = "insert into registros_acesso values (%s)" cursor.execute(sql,valor) con.commit() con.close() Alguém pode me dar uma ajuda?
    • By jeff890
      Boa tarde pessoal.

      Estou precisando exibir na table, em forma de tabela, os resultado que uma query me retorna. O problema é que tenho que fazer isso de forma dinâmica, sem precisar acessar o nome das colunas da query. Quero que exiba os resultados automaticamente. Preciso exibir exatamente como o phpmyadmin exibe quando fazemos um query por la.
       
      Fiz assim (USANDO PDO)
       
      while($row = $stmt->fetch(PDO::FETCH_ASSOC)){                                                 foreach($row as $field => $value){                                                                            echo $field.": ".$value."<br>";                 }                 }     O problema é que dessa forma ele exibe o conteúdo em $field várias vezes. 
       
      Por exemplo:
      Da forma acima, é exibido assim:
      NOME | CPF | CURSO
      XXX | VVV | AAAA
      NOME | CPF | CURSO
      YY | BBB | DFAA
      NOME | CPF | CURSO
      YY | BBB | DFAA
       
      E assim sucessivamente, enquanto tiver resultados da query
       
      Mas preciso que fique assim:
      NOME | CPF | CURSO
      XXX | VVV | AAAA
      ]YY | BBB | DFAA
      YY | BBB | DFAA
       
      Entenderam?
    • By MayraAmaral
      Olá, tenho um sistema de boletim escolar em PHP onde o responsável cadastra os alunos. O problema está na pagina de editar aluno, não consigo setar um único aluno, no link da pagina aparece o ID do aluno selecionado mas na pagina aparecem todos os que foram cadastrados pelo usuário. Já tentei colocar o ID do aluno no where do select mas também não funciona.
      Se alguém puder ajudar agradeço muito.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.