Ir para conteúdo
ANILTON

SELECIONAR 3 CAMPOS DA MESMA TABELA

Recommended Posts

Prezados,

Boa Tarde!

Estou fazendo um trabalho de um curso em SQL e gostaria de uma ajuda de vocês mais experientes.

Tenho uma tabela de nome tblalunos, nesta tabela há 7 colunas:  nome, material, anexo, portifolio, fornecedor, nota, data

Preciso selecionar em SQL os alunos em que fornecedor, anexo e portifólio possuem em seus dados em algum momento igual a "INTERNO" apenas os que receberam dia 23/10/2018.

Minha tabela tblalunos está com os seguintes dados:

nome               material              fornecedor       anexo           portifolio     nota        data

JOSE                COPIA                 INTERNO         OUTRO           LIVRARIA        5,0      2018-10-23
MARCOS              LIVRO                 LIVRARIA        INTERNO         LIVRARIA        5,0      2018-10-21
MARIA               LIVRO                 INTERNO         LIVRARIA        INTERNO         5,0      2018-10-23
MARCELO             LIVRO                 INTERNO         OUTRO           INTERNO         5,0      2018-10-22
PEDRO               COPIA                 LIVRARIA        LIVRARIA        LIVRARIA        5,0      2018-10-23
MARIANA             LIVRO                 LIVRARIA        INTERNO         INTERNO         5,0      2018-10-21

 

Minha SQL atual está assim:

(SELECT * 
 FROM `tblalunos` 
 WHERE `tblalunos`.`fornecedor` = 'INTERNO' 
 AND `tblalunos`.`data` BETWEEN '2018-10-23' AND '2018-10-23' 
 LIMIT 300) 
UNION 
(SELECT * 
 FROM `tblalunos` 
 WHERE `tblalunos`.`anexo` = 'INTERNO' 
 AND `tblalunos`.`data` BETWEEN '2018-10-23' AND '2018-10-23' 
 LIMIT 300)
UNION 
(SELECT * 
 FROM `tblalunos` 
 WHERE `tblalunos`.`portifolio` = 'INTERNO' 
 AND `tblalunos`.`data` BETWEEN '2018-10-23' AND '2018-10-23' 
 LIMIT 300) 

 

A partir deste SELECT será gerado um relatório que está OK

 

Até funciona, mas está omitindo algumas linhas, peço ajuda a vocês experientes por favor, desde já agradeço.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está usando LIMIT, não é por isso que está omitindo resultados?

 

Obs: UNION serve para unir resultados de tabelas distintas, acho que não é uma prática boa usar para consultar na mesma tabela, posso estar errado, se tiver me corrijam.

 

Acho que daria para simplificar a consulta, tenta assim:

SELECT * FROM tblalunos WHERE (fornecedor = "INTERNO" OR anexo = "INTERNO" OR portifolio = "INTERNO") AND data = "2018-10-23"

Ficou um pouco confusa sua explicação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

parece correto , qual linha omite ?

 

 

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 WEBCHARLES
      MEU MODEL

      public function exibir_noticia() {

      $consulta = $this->db->query('
      SELECT *
      FROM Noticia_Site_Cairu

      ');
      return $consulta->result();
      }

      NO MEU CONTROLLER:

      public function index()

      {
      $this->load->model('noticia_model');
      $consulta = $this->noticia_model->exibir_noticia();
      //print_r($casdatrado);
      $this->load->view('v_home', $consulta);
      }

      Quando vou exibir na view:


      foreach ($consulta as $exibir):{
      echo '
      <tr class="success">
      <td>'.$exibir->titulo.'</td>
      <td>'.$exibir->texto.'</td>
      <td>'.$exibir->imagem.'</td>
      <td>'.$exibir->link.'</td>
      <td>'.$exibir->nome_link.'</td>
      <td>'.$exibir->video.'</td>
      <td>'.$exibir->data.'</td>
      </tr>';
      }endforeach;

      APARECE ESSE ERRO:

      A PHP Error was encountered

      Severity: Notice

      Message: Undefined variable: consulta

      Filename: views/v_home.php

      Line Number: 88

      Backtrace:

      File: /var/www/html/admnoticias/application/views/v_home.php
      Line: 88
      Function: _error_handler

      File: /var/www/html/admnoticias/application/controllers/Home.php
      Line: 17
      Function: view

      File: /var/www/html/admnoticias/index.php
      Line: 315
      Function: require_once

×

Informação importante

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