Ir para conteúdo

POWERED BY:

  • 0
gamesmax2

Obter dados de único nome MYSQL

Pergunta

Boa tarde,

Pessoal estou com uma dificuldade no MYSQL, estou querendo obter dados de um cadastro caso ele tenha preenchido todos os Campos, tentei usar o Group by mas não tive sucesso.

 

Minha tabela e a seguinte:

 

Nome.              Pedido.            Status

Daniel.              9955.                 Ok

Daniel.              9954                  Ok

Rafael.              9940                  Ok

Rafael.              9941.                 Aberto

Rafael.              9942.                 Ok

Rodrigo.            9961.                 Ok

Rodrigo.            9962.                 Ok

 

 

Meu objetivo e puxar os nomes que estão com todos o pedidos relacionado em ok, no caso o Rafael não pode aparece pois ele tem um pedido Aberto, porém não conseguir fazer isso, pessoal peco a ajuda de VCS muito o obrigado.

 

tentei isso aqui:


SELECT nome, pedido, status FROM `cadastros` GROUP BY  pedido, nome
ORDER BY having status = 'Ok'

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

7 respostas a esta questão

Recommended Posts

  • 0
SELECT nome, pedido, status
FROM `cadastros` c1
where not exists (SELECT 1
                  FROM `cadastros` c2
                  where c2.none = c1.nome
and  status = 'Aberto')
GROUP BY  pedido, nome
ORDER BY nome

 

O not exists verifica se o "nome" tem algum
status Aberto 

 

Mais detalhes

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Bom, se eu entendi e o caso for que o status não possa ser"OK". A coisa é meio óbvia:

SELECT nome, pedido, status FROM cadastros WHERE status != 'Ok'

Todos os dados de nome, pedido, status na tabela cadastros que não tiver com o status definido como Ok serão retornados

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Opa muito obrigado, funciona sim.:grin:

Só me ajuda em mais uma coisa se caso eu querer remover mais status além do aberto poderia fazer isso status status = 'aberto' or status = ' separação'

Tentei fazer isso não funciono, você teria algo pra me ajuda?

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
  Em 13/07/2021 at 19:35, Omar~ disse:

Bom, se eu entendi e o caso for que o status não possa ser"OK". A coisa é meio óbvia:

SELECT nome, pedido, status FROM cadastros WHERE status != 'Ok'

Todos os dados de nome, pedido, status na tabela cadastros que não tiver com o status definido como Ok serão retornados

 

 

 

Omar, o problema e que vai puxa nome que não completou o cadastro dos pedidos, exemplo o Rafael tem 3 pedidos porém só 2 que estão OK, então ele não estão completo, meu interesse e puxar apenas nomes que tem todos os pedidos relacionado a ele que esteja com status Ok, o Daniel tem 2 pedidos relacionado a ele e estao Ok.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Tem de ser um subselect pois se pediu um caso como " o Rafael não pode aparece pois ele tem um pedido Aberto " por linha não resolve, tem de ler as demais linhas.

 

 

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 belann
      Olá!
       
      Estou usando o nextjs versão 15.2.3 e criei uma navbar que quando é carregado o programa aparece com a home, mas na hora de clicar na página produtos desaparece a navbar.
      A navbar esta sendo chamada no layout.tsx estou usando typescript
      e fica dessa forma
      <div>           <Navbar/>             <main>{children}</main>             </div>  
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Tenho 3 selects assim com varias categorias...
       
              $sql = "SELECT * FROM topicos          WHERE idcategoria = $idcategoria          AND pubdate BETWEEN NOW() - INTERVAL $intervalo1_horas_ou_minutos $tipo_intervalo1_horas_mnutos AND          NOW() - $intervalo2_horas_ou_minutos ORDER BY pubdate DESC LIMIT 1"; Preciso que na minha pagina principal (index) mostre este registro por 10minutos.. passando de 10 minutos mostra o resultado do proximo select (categoria)..
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
×

Informação importante

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