[firebase-br] Ajuda com Select em duas tabelas
    Luiz Henrique Martino 
    luiz em vmartino.net
       
    Seg Jun 14 09:58:01 -03 2010
    
    
  
Maycon, bom dia!
Imaginando que sua tabelas sejam:
*HISTORIC*: tabela de histórico dos itens
*ITENS*: itens da os
acho que você pode resolver essa consulta com essa query:
SELECT DISTINCT COD, COD_OS, N_ITEM,
(SELECT MAX(COD_OS_SITUACAO) AS MAX_SIT FROM HISTORIC AS H1
WHERE COD_OS_ITENS = ITENS.COD
GROUP BY COD_OS_ITENS
HAVING MAX(COD) = (SELECT MAX(COD) FROM HISTORIC WHERE COD_OS_ITENS =
H1.COD_OS_ITENS)) AS COD_OS_SITUACAO
FROM  ITENS
[]'s
Martino
Em 14 de junho de 2010 08:36, Hélio Oliveira <hpensador em gmail.com> escreveu:
> Maycon, eu teria montado a SP para você mais não entendi bem a estrutura
> das tabelas envolvidas. De qualquer forma vou te dizer como seria a mesma
> basicamente:
>
> create or alter procedure os (
>  os_numero integer)
> returns (
>  ... aqui você irá colocar a lista de campos
>      a serem retornados
> )
> as
> ... Se houver necessidade
>    aqui você irá declarar
>    variaveis
> begin
>  for select
>      from tabela_os
>      where numero = :os_numero
>  into :campo1, :campo2, .... :campoN do
>  begin
>    for select
>        from itens_os
>        where numero_os = :os_numero
>    into :campo1, :campo2, ... :campoN do
>    begin
>      select first 1 ...
>      from situacao_item
>      where numero_os = :os_numero
>        and item_numero = :numero_item
>      into :campo;
>    end
>  end
> end
>
>
> --
> []'s,
>
> Hélio Oliveira
> Analista de Sistemas
> Delphi Developer
> http://hpensador.blogspot.com/
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
    
    
Mais detalhes sobre a lista de discussão lista