[firebase-br] Ajuda com Select em duas tabelas
Maycon
maycon em alphametro.com.br
Seg Jun 14 11:17:07 -03 2010
Luiz muito obrigado pela ajuda deu certo com o seu SQL
Alias agradeço a todos da lista pela ajuda
obrigado
Att.
Maycon
----- Original Message -----
From: "Luiz Henrique Martino" <luiz em vmartino.net>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, June 14, 2010 9:58 AM
Subject: Re: [firebase-br] Ajuda com Select em duas tabelas
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
>
______________________________________________
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