Jump to content
lemanoel

buscar o registro mais antigo dentro de um join

Recommended Posts

oi, sou novo por aqui! desculpe se a pergunta é muito simples.... tenho duas tabelas:

TABELA: atendimento:
cd_item
data_atend
nome_cliente
TABELA: documento_clinico
cd_doc
cd_item
data_doc

 

o tenho a relação 1 atendimento para muitos docs. Quero criar um código que diz o número do atendimento e a data do doc mais antigo (apenas 1).  todas as tentativas duplicam o nome do cliente

Share this post


Link to post
Share on other sites

subselect com max é uma forma

 

algo assim
 

select *
from atendimento , documento_clinico
where atendimento.cd_item =, documento_clinico.cd_item
and data_cod = (select max(data_cod)
                from documento_clinico documento_clinico2
                where documento_clinico2.cd_doc = documento_clinico.cod_doc
                and documento_clinico2.cd_item = documento_clinico.cod_item)

 

Share this post


Link to post
Share on other sites

Olá Motta, obrigado pela ajuda...

tentei utilizar, mas com subquery o código não traz os atendimentos sem anamnese

 

pensei em um left join, mas não consegui...

Share this post


Link to post
Share on other sites

select *
from atendimento , documento_clinico
where atendimento.cd_item = documento_clinico.cd_item (+)
and ( (documento_clinico.cd_item is null)         
      or
      (data_cod = (select max(data_cod)
                   from documento_clinico documento_clinico2
                   where documento_clinico2.cd_doc = documento_clinico.cod_doc
                   and documento_clinico2.cd_item = documento_clinico.cod_item) )

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 Omar~
      Blz...?
      Vejamos essa query:
      SELECT postagem.id, postagem.link, postagem.autor, postagem.editor, usuario.id, usuario.nome FROM postagem INNER JOIN usuario ON postagem.autor = usuario.id Então estou buscando pelos dados da postagem e o autor da mesma.
      A questão é:
      Tenho uma tabela "postagem" que guarda informação do "autor" da postagem e quem a editou "editor"
      Com essa query consigo trazer o resultado da tabela usuario dano a referencia do autor.
      Mas como eu faria para ter os dados do "autor" e do "editor" na tabela "usuario"?
      Preciso obter os nomes de quem criou e quem editou.
    • By rafaelmoreira78
      Boa tarde!
      Estou querendo fazer um select a partir da seleção de um combobox. Nesse combobox o usuário escolhe o tipo de busca que ele quer. Se é por nome, por id, por data etc. E depois, exibe os dados nos campos. Porém, não estou conseguindo e não sei como resolver isso.
      public void consultar(){ String sql ="select * from tbcertificados where ?=?"; try{ pst=conexao.prepareStatement(sql); pst.setString(1,cbConsulta.getSelectedItem().toString()); pst.setString(2,txtBusca.getText()); rs=pst.executeQuery(); if (rs.next()){ lblID.setText(rs.getString(1)); txtNome.setText(rs.getString(2)); comboCursos.setSelectedItem(rs.getString(3)); txtData.setText(rs.getString(4)); txtCH.setText(rs.getString(5)); txtEmpresa.setText(rs.getString(6)); txtObs.setText(rs.getString(7)); }  
    • By asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
    • By biza
      Viva pessoal, 
      Estou com um problema na execução de um filtro aos dados vindos da base de dados, sera que alguém me pode ajudar, os dados estão vindo para a pagina através do método $_POST,
      que são seleccionados através do carregamento de uma dropbox chamada 'select-segment', desta forma se o utilizador apertar o botão 'action' ele executa o filtro caso não aperte ele executa a seleção sem filtros, será que alguém me pode ajudar...
      O erro devolvido é o seguinte:
      Fatal error::  Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /Applications/MAMP/htdocs/cargeWebsite/carList.php:46
      Stack trace:
      #0 /Applications/MAMP/htdocs/cargeWebsite/carList.php(46): PDOStatement->execute()
      #1 /Applications/MAMP/htdocs/cargeWebsite/index.php(155): include('/Applications/M...')
      #2 {main}
        thrown in 
      $query .='SELECT * FROM tbl_vehicle AS v INNER JOIN tbl_brands AS b ON v.brand_id = b.id_brand INNER JOIN tbl_images AS i ON v.id_vehicle = i.vehicle_id INNER JOIN tbl_fuel AS f ON v.fuel_id = f.id_fuel WHERE v.active = :active'; if(isset($_POST['action'])){ if(isset($_POST['select-segment']) && $_POST['select-segment']!=''){ $segment_filter = $_POST['select-segment']; $query.= 'AND segment_id IN ("'.$segment_filter.'")'; } $query .='ORDER BY v.last_inser ASC'; }else{ $query .='ORDER BY v.last_inser ASC'; } if($_POST['lenght'] = -1){ $query_1 = 'LIMIT :inicio, :limite'; } $dbh = createPDO(); $statement = $dbh->prepare($query); $statement->bindValue(':active',$intermedio); $statement->execute(); $number_filter_row = $statement->rowCount(); $statement = $dbh->prepare($query . $query_1); $statement->bindValue(':inicio',(int)$init, PDO::PARAM_INT); $statement->bindValue(':limite',(int)$limite, PDO::PARAM_INT); $statement->execute(); foreach ($result as $row){ }  
    • By r.guerra
      Salve galera, boa tarde a todos.
      estou tendo um problema que ainda nao consegui enxergar... faço uma consulta mysql que funciona normalmente no proprio ambiente(mysql) mas ao solicitar a exibição do campo via php gera nao exibe e me tras um alerta.
       
      ****codigo php
      function monta_avaliacao($cpf){
          $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf='$cpf'");
           $dados = mysqli_fetch_assoc($query);
          print $dados['c.cpf'];
           }
       
      *****sainda no html
      Notice: Undefined index: c.cpf in C:\xampp\htdocs\acus\inclusoes\funcoes.php on line 29
      Notice: Undefined index: a.pe in C:\xampp\htdocs\acus\inclusoes\funcoes.php on line 30
       
      tenho um arquivo com as funções, e apenas mando os parametros.
×

Important Information

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