NaPraia 12 Denunciar post Postado Dezembro 22, 2006 Oi pessoal, tô com um probleminho chato aqui.Eu estou fazendo uma consulta para o bloco de dados do forms(6i)Eu tenho a tabela EMPRESA (que é pai) e eu uso os campos cd_empresa e ds_empresa, para listar na tela.Aí eu tenho uma outra tabela EMPRESA_IR, onde eu tenho o cd_empresa e o cd_exercicio.O cd_exercicio eu pego da tabela EXERCICIO, que é o ano, number(4). ex:2006, 2005, etcO bloco me traz: SELECT CD_EMPRESA, DS_EMPRESA FROM EMPRESAna cláusula WHERE do bloco eu tenho: CD_EMPRESA IN (SELECT CD_EMPRESA FROM EMPRESA_IR)para não repetir as empresas. Está funcionando tudo legal, agora vem o problema.O problema é que essa lista de cd_empresa e ds_empresa, eu preciso ordernar em função do cd_exercicio.Alguém tem sabe como eu posso fazer isso? Ou uma dica? ou um palpite??Sabe como é cliente, quer, e quer, e ainda dizem que eles tem sempre razão.Valeu!!!! Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Dezembro 23, 2006 Veja esse exemplo básico: SQL> conn rodrigoalmeidaInforme a senha:Conectado.SQL> create table EMPRESA (cod_empresa number(5), ds_empresa varchar2(100));Tabela criada.SQL> insert into EMPRESA values (1,'Empresa de Calçados');1 linha criada.SQL> insert into EMPRESA values (2,'Empresa de Computadores');1 linha criada.SQL> insert into EMPRESA values (3,'Empresa de Remédios');1 linha criada.SQL> insert into EMPRESA values (4,'Empresa de Alimentos');1 linha criada.SQL> insert into EMPRESA values (5,'Empresa de Garotas de Programa');1 linha criada.SQL> create table EMPRESA_IR (cod_empresa number(5), cod_exercicio number(4));Tabela criada.SQL> insert into EMPRESA_IR values (1,2000);1 linha criada.SQL> insert into EMPRESA_IR values (2,2001);1 linha criada.SQL> insert into EMPRESA_IR values (3,2001);1 linha criada.SQL> insert into EMPRESA_IR values (4,2003);1 linha criada.SQL> insert into EMPRESA_IR values (5,2006);1 linha criada.SQL> commit;Commit concluÝdo.SQL> create table EXERCICIO (cod_exercicio number(4));Tabela criada.SQL> insert into EXERCICIO values (2001);1 linha criada.SQL> insert into EXERCICIO values (2000);1 linha criada.SQL> insert into EXERCICIO values (2003);1 linha criada.SQL> insert into EXERCICIO values (2006);1 linha criada.SQL> commit;Commit concluÝdo.SQL> set line 150SQL> set pagesize 1000SQL> select * from EMPRESA;COD_EMPRESA DS_EMPRESA----------- ---------------------------------------------------------------------------------------------------- 1 Empresa de Calçados 2 Empresa de Computadores 3 Empresa de Remédios 4 Empresa de Alimentos 5 Empresa de Garotas de ProgramaSQL> select * from EMPRESA_IR 2 ;COD_EMPRESA COD_EXERCICIO----------- ------------- 1 2000 2 2001 3 2001 4 2003 5 2006SQL> select * from EXERCICIO;COD_EXERCICIO------------- 2001 2000 2003 2006SQL> l 1 select a.cod_empresa, a.ds_empresa, c.cod_exercicio 2 from EMPRESA a 3 inner join EMPRESA_IR b ON a.cod_empresa=b.cod_empresa 4 inner join EXERCICIO c on b.cod_exercicio=c.cod_exercicio 5* order by c.cod_exercicioSQL> /COD_EMPRESA DS_EMPRESA COD_EXERCICIO----------- ---------------------------------------------------------------------------------------------------- ------------- 1 Empresa de Calçados 2000 2 Empresa de Computadores 2001 3 Empresa de Remédios 2001 4 Empresa de Alimentos 2003 5 Empresa de Garotas de Programa 2006SQL > Rapaz, aproveita que sua modelagem está utilizando tabelas de APOIO (EMPRESA_IR) na normalização do banco de dados, então poderá realizar INNER sem precisar se preocupar com duplicação de dados. Abraços, http://forum.imasters.com.br/public/style_emoticons/default/natal_w00t.gif Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Janeiro 2, 2007 Valeu Rodrigo, mas isso não me ajuda.mas isso é passado, o cliente aceitou assim mesmo.Mas ainda vou dar uma olhada como fazer na mão o pre_query para executar. Pois normalmente ele faz automático.Depois que eu ajeitar, post aqui. Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Janeiro 3, 2007 O que seria PRE_QUERY? Abraços, http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif Compartilhar este post Link para o post Compartilhar em outros sites