Valeu...obrigado!
_______________________________________________________ Luciano Santos DBA - TI Grupo Tavares de Melo Tel : 83 3651-1150 Cel : 83 9924-1607 E_mail : [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> Site : http//www.tavaresdemelo.com.br _______________________________________________________ _____ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Sérgio Yuassa (FUSAN) Enviada em: quarta-feira, 14 de junho de 2006 15:26 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Problema com campos REQUISIÇÃO cod_req | descricao | cod_os 100 | 'REQUISICAO TESTE1' | 1 200 | 'REQUISICAO TESTE1' | 1 OS cod_os | descricao | origem 1 | 'OS AGR' | 1 1 | 'OS IND' | 2 Fazendo um produto cartesiano: cod_req | descricao | cod_os | cod_os | descricao | origem 100 | 'REQUISICAO TESTE1' | 1 | 1 | 'OS AGR' | 1 100 | 'REQUISICAO TESTE1' | 1 | 1 | 'OS IND' | 2 200 | 'REQUISICAO TESTE1' | 1 | 1 | 'OS AGR' | 1 200 | 'REQUISICAO TESTE1' | 1 | 1 | 'OS IND' | 2 Aplicando o teu where: WHERE A.COD_OS= B.COD_OS AND B.ORIGEM = 2; cod_req | descricao | cod_os | cod_os | descricao | origem 100 | 'REQUISICAO TESTE1' | 1 | 1 | 'OS IND' | 2 200 | 'REQUISICAO TESTE1' | 1 | 1 | 'OS IND' | 2 Aplicando o select: SELECT A.COD_REQ,A.DESCRICAO,A.COD_OS (que na verdade é requisicao.cod_req, requisicao.descricao, requisicao.cod_os) cod_req | descricao | cod_os 100 | 'REQUISICAO TESTE1' | 1 200 | 'REQUISICAO TESTE1' | 1 Para pegar somente 1 requisição, vc tem que fazer uma regra, pegando a primeira ou a segunda requisição. Vc pode fazer isso com alguma função de agrupamento, como o min(), max(), etc.... Se fizer um min(cod_req), vai trazer somente a requisição 100.... Mostrei isso só para dizer que vc tem 2 requisições para uma OS. Se vc quiser os dados das requisições da OS 1, vai trazer todas as requisições dessa OS. Então vc deve decidir se vai trazer a primeira requisição, a última, a do meio, sei lá..... -----Mensagem Original----- De: Luciano Santos Para: oracle_br@yahoogrupos.com.br Enviada em: 14 de junho de 2006 14:38 Assunto: [oracle_br] Problema com campos Pessoal, Tenho a seguinte situação: Duas tabelas com a seguinte estrutura. Tabela requisição COD_REQ NUMBER(3), DESCRICAO VARCHAR2(30), COD_OS NUMBER(3) Tabela os COD_OS NUMBER(3), DESCRICAO VARCHAR2(30), ORIGEM NUMBER(3) Na tabela de requisição tenho uma PK na coluna COD_REQ e na tabela de OS tenho uma PK na coluna COD_OS e ORIGEM. Inseri as seguintes linhas na tabela de OS : INSERT INTO OS VALUES (1,'OS AGR', 1); INSERT INTO OS VALUES (1,'OS IND', 2); Inseri na tabela de requisição as seguintes linhas: INSERT INTO REQUISICAO VALUES (100,'REQUISICAO TESTE1', 1); INSERT INTO REQUISICAO VALUES (200,'REQUISICAO TESTE1', 1); Depois que inseri essa linhas preciso filtrar todas as requisições que são da origem 2; SELECT A.COD_REQ,A.DESCRICAO,A.COD_OS FROM REQUISICAO A, OS B WHERE A.COD_OS= B.COD_OS AND B.ORIGEM = 2; COD_REQ DESCRICAO COD_OS ORIGEM ------- ----------- ---------- ---------- 100 TESTE AGR 1 2 200 TESTE IND 1 2 Vejam que o select me trouxe as duas linhas como tendo a mesma OS com a mesma Origem e está correto, pois a condição na clausula where é verdadeira e eu não tenho o campo origem na tabela de requisicao, mas como posso resolver isso sem mudar a estrutura da tabela de Requisição, ou seja, o select só me retornar a linha referente a origem que desejo ????? Obrigado _______________________________________________________ Luciano Santos _______________________________________________________ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -------------------------------------------------------------------------------------------------------------------------- Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ --------------------------------------------------------------------------------------------------------------------------__________________________________________________________________ Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine __________________________________________________________________ O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário. Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html