Ir para conteúdo
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?

Compartilhar este post


Link para o post
Compartilhar em outros 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...

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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 


 

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por M. Alberto
      O que preciso alterar para acessar meu banco de dados remotamente?
       
      Tenho o IP e outros dados... como faço com este código?
       
      <?php $link = mysql_connect('localhost', 'USUARIO_NOME', 'SENHA_ACESSO'); if (!$link) { die('Não conseguiu conectar: ' . mysql_error()); } $db_selected = mysql_select_db('BANCODEDADOS_NOME', $link); if (!$db_selected) { die ('Não pode selecionar o banco : ' . mysql_error()); } $rst_pedidos=mysql_query("SELECT * FROM pedidosgarotao WHERE impresso='nao' ORDER BY id",$link); $num_pedidos=mysql_num_rows($rst_pedidos); if ($num_pedidos==0) { ?>  
    • Por M. Alberto
      Estou realizando a migração de meu site que utiliza um banco de dados em mySQL PHP porém estou obtendo erro.
       
      Criei o banco de dados e fiz upload dos arquivos, porém agora neste servidor não roda de maneira alguma. Alguém poderia me ajudar ?
    • Por netocazuza
      Tenho uma rotina em php que está funcionando, gravando os dados numa tabela. Agora surgiu a necessidade de fazer dois testes antes da gravação, e eu não estou conseguindo ter idéia de como fazer, por isso vou postar no próprio código pra ver se entendem. O primeiro teste, é ver se o número escolhido, já foi selecionado (variável numero), e caso isso ocorra, não gravar. O outro teste é impedir que o mesmo usuário (usuário apostador)faça mais de uma aposta. Segue código:
      <?php require_once 'init.php'; // pega os dados do formuário $data_hora = isset($_POST['data_hora']) ? $_POST['data_hora'] : null; $apostador = isset($_POST['apostador']) ? $_POST['apostador'] : null; // quero que esse apostador não se repita. Se já estiver na tabela, avisar e sair. $telefone = isset($_POST['telefone']) ? $_POST['telefone'] : null; $numero = isset($_POST['numero']) ? $_POST['numero'] : null; // quero que cheque esse número na tabela existente, e caso exista, retornar para inserir outro.     // validação (bem simples, só pra evitar dados vazios) if (empty($data_hora) || empty($apostador) || empty($telefone) || empty($numero)) {     echo "Volte e preencha todos os campos";     exit; } $hoje = date("d-m-Y H:i"); $limite = ('08-03-2019 16:35');    if (strtotime($hoje) >= strtotime($limite)){         echo "Esgotado o horario limite. Aguarde para o próximo sorteio!";         exit;     } // a data vem no formato dd/mm/YYYY // então precisamos converter para YYYY-mm-dd // insere no banco $PDO = db_connect(); // Acredito que esse teste deva ser feito aqui, antes de gravar, mas é só um palpite, pois tô mais perdido do que padre (alguns) em boate //verificar se apostador e numero já existem na tabela, e caso exista, retornar o fluxo $sql = "INSERT INTO palpites(data_hora, apostador, telefone, numero) VALUES(:data_hora, :apostador, :telefone, :numero)"; $stmt = $PDO->prepare($sql); $stmt->bindParam(':data_hora', $data_hora); $stmt->bindParam(':apostador', $apostador); $stmt->bindParam(':telefone', $telefone); $stmt->bindParam(':numero', $numero);     if ($stmt->execute()) {     header('Location: index.php'); } else {     echo "Erro ao cadastrar";     print_r($stmt->errorInfo()); }
    • Por lucasrodrigues
      Estou com esse problema ao tentar vincular uma tabela do MySql a um DataSet. Utilizo o MySqlConnector 8.0.13, MySql-For-VisualStudio 1.2.8.

    • Por Charlie04
      Tenho uma tabela de mídias que contem ID e nome das mídias e outra com locais onde existe o ID da midia que esta no local (1 local pode der + de 1 midia ).
      Gostaria de ajuda pra conseguir selecionar quantas mídias iguais estão em cada locais.

      MIDIAS
      ID                   |    Nome 
                   
      1                    |    Coca-cola
      2                    |    Painel Disponível
      3                    |    Fanta
       
       
      IDLOCAL           IDMIDIA                               
      1                    |    1
      1                    |    1
      1                    |    2
      1                    |    3
      2                    |    1 
      1                    |    2
      2                    |    3
      2                    |    1
      1                    |    2
      2                    |    2
       
      A resposta que eu queria é parecida com isso , mas não estou conseguindo montar o select :(
      Contar quantas vezes determinado IDMIDIA aparece no mesmo IDLOCAL;
       
      IDLOCAL                    IDMIDIA                          Quantidade         
      1                             |    Coca-cola                             | 2
      1                             |    Painel Disponível                | 3
      1                             |    Fanta                                     | 1
      2                             |    Fanta                                     | 1
      2                             |    Painel Disponível                | 1
      2                             |    Coca-cola                             | 2
       
       

      Se alguém puder me ajudar eu agradeço, sou iniciante então por isso a duvida provavelmente seja básica , desde já Obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.