Valeu a todos!

2009/7/31 Pablo Câmara <pscam...@gmail.com>

> Flaviano, acho que é exatamente isso!
> select distinct cod from teste t1
> where exists (select * from teste t2 where t2.cod = t1.cod and   t2.vlr =
> '3')
> and   exists (select * from teste t2 where t2.cod = t1.cod and   t2.vlr =
> '1')
>
> Obrigado!
>
>
>
> 2009/7/31 Flaviano, Wellington (GE Money) <wellington.flavi...@ge.com>
>
>
>>
>> Utiliza o exists, where exits coluna = 1 ... And exists coluna =3 ...
>> Acredito que funciona...
>>
>> -----Original Message-----
>> From: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>[mailto:
>> oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>] On Behalf
>> Of Pablo Câmara
>> Sent: Friday, July 31, 2009 3:07 PM
>> To: oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>
>> Subject: Re: [oracle_br] Re: USO DO COMANDO IN (=ANY)
>>
>> Gostaria que viesse o resultado: cod = 1 (apenas) Já que o cod 1 possui
>> tanto o vlr 1 e o vlr 3
>>
>> 2009/7/31 jlchiappa <jlchia...@yahoo.com.br <jlchiappa%40yahoo.com.br>>
>>
>> >
>> >
>> > Não, colega, não : ** releia ** a minha msg, eu disse :
>> >
>> > coluna like p1 AND coluna like p2 AND coluna like p3
>> >
>> > é AND pra que obedeça a todas as condições, e não OR, yes ???
>> >
>> > []s
>> >
>> > Chiapa
>> >
>> > --- Em oracle_br@yahoogrupos.com.br 
>> > <oracle_br%40yahoogrupos.com.br><oracle_br%
>> 40yahoogrupos.com.br>,
>> > Pablo Câmara <pscam...@...> escreveu
>> > >
>> > > Chiappa,
>> > > Valeu pela ajuda...mas não conseguí.
>> > > A solução com : coluna LIKE '%param1%' AND coluna LIKE '%param2%'
>> > > and
>> > COLUNA
>> > > like '%param3%'
>> > > No meu caso não funcionou.
>> > >
>> > > No meu exemplo:
>> > >
>> > > CREATE TABLE arq.teste (cod NUMBER, vlr VARCHAR2(20))
>> > >
>> > > INSERT INTO TESTE (COD,VLR) VALUES (1,'1')/ INSERT INTO TESTE
>> > > (COD,VLR) VALUES (1,'2')/ INSERT INTO TESTE (COD,VLR) VALUES
>> > > (1,'3')/ INSERT INTO TESTE (COD,VLR) VALUES (1,'4')/ INSERT INTO
>> > > TESTE (COD,VLR) VALUES (2,'3')/ INSERT INTO TESTE (COD,VLR) VALUES
>> > > (2,'4')/
>> > >
>> > > Pesquisar o documento que tenha as palavras *1 e 3.*
>> > >
>> > > 1)
>> > > SELECT COD,VLR FROM ARQ.TESTE
>> > > WHERE VLR LIKE '%1%' AND VLR LIKE '%3%'
>> > > > No results.
>> > >
>> > > 2)
>> > > SELECT COD,VLR FROM ARQ.TESTE
>> > > WHERE VLR LIKE '%1%' OR VLR LIKE '%3%'
>> > > >
>> > > 1 1
>> > > 1 3
>> > > 2 3
>> > >
>> > > (Resultado igual ao IN)
>> > >
>> > > Queria algo que atendende apenas aqueles que tivessem o valor 1 e 3.
>> > >
>> > > Valeu, pela ajuda
>> > > Vou tentar outra coisa aqui!
>> > >
>> > >
>> > >
>> > > 2009/7/31 jlchiappa <jlchia...@...>
>> >
>> > >
>> > > >
>> > > >
>> > > > Colega, vamos por partes aí : primeiro de tudo, vamos entender : o
>> > WHERE é
>> > > > uma cláusula aplicada a CADA REGISTRO, um por vez, para filtragem,
>> > > > e o operador ALL indica que a condição deve ser verdadeira para
>> > > > TODOS os
>> > valores
>> > > > - sabendo-se isso, uma condição
>> > > >
>> > > > WHERE coluna = ALL (x, y, z)
>> > > >
>> > > > evidentemente *** NUNCA *** vai ser verdadeira, pois um valor de
>> > > > uma
>> > coluna
>> > > > NUNCA vai ser igual aos três ao mesmo tempo, ok ??? Óbvio que vc
>> > > > obteve
>> > "No
>> > > > Results" na sua primeira tentativa... O que vc quer é pesquisar
>> > > > NÂO por Igualdade, mas por presença, então esqueça o '=' , blz ?
>> > > > No banco 8i,
>> > já que
>> > > > vc não tem a REGEXPe iirc não tem Contexts também, as únicas
>> > > > opções pra
>> > se
>> > > > pesquisar por existência de uma substring dentro de outra são : o
>> > > > LIKE,
>> > as
>> > > > funções string tipo INSTR, escrita de uma função PL/SQL
>> > > > customizada sua
>> > ou
>> > > > alguma combinação complexa com Analytics (estes já existiam no 8i,
>> > > > só
>> > não
>> > > > lembro o release 8i exato em que foram introduzidos).
>> > > > Para usar o LIKE ou funções built-in, isso VAI implicar em SQL
>> > dinâmico,
>> > > > imagino que vc terá que ter uma rotina sua, que recebe os
>> > > > parâmetros digitados e os expande em vários LIKE, tipo :
>> > > >
>> > > > WHERE coluna LIKE '%param1%' AND coluna LIKE '%param2%' and COLUNA
>> > > > like '%param3%'
>> > > >
>> > > > ou com built-ins se quiser, algo assim..
>> > > >
>> > > > A opção de função customizada sua seria algo que vc chamaria no
>> > > > WHERE,
>> > tipo
>> > > > :
>> > > >
>> > > > WHERE minha_função(coluna, paramdebusca1, paramdebusca2, paramde
>> > busca3) =
>> > > > 1 ...
>> > > >
>> > > > lógico, NENHUMA dessas alternativas vão ser extremamente saudável
>> > > > pra performance, mas é isso... A menos danosa imagino que seria
>> > > > montar
>> > alguma
>> > > > combinação com Analytics, mas e algo a se pesquisar...
>> > > >
>> > > > []s
>> > > >
>> > > > Chiappa
>> > > > --- Em oracle_br@yahoogrupos.com.br<oracle_br%40yahoogrupos.com.br>
>> > > > <oracle_br%40yahoogrupos.com.br><oracle_br%
>>
>> > 40yahoogrupos.com.br>,
>> > > > Pablo Câmara <pscamara@> escreveu
>> > > > >
>> > > > > *paramentroDaTela := BABCOCK DIGIMAPAS TUBO*
>> > > >
>> > > > > *
>> > > > > *
>> > > > > *1) SELECT COD_DOCUMENTO FROM ARQ.REFERENCIAS_DOCUMENTOS WHERE
>> > > > TXT_DOCUMENTO
>> > > > > IN (paramentroDaTela)*
>> > > > > *
>> > > > > *
>> > > > > *No caso 1: vai retornar o código de varios documentos. Sendo
>> > > > > uma
>> > tabela
>> > > > > de 3 milhoes de registros. Fica inviável.*
>> > > > > *
>> > > > > *
>> > > > > *2) SELECT COD_DOCUMENTO FROM ARQ.REFERENCIAS_DOCUMENTOS WHERE
>> > > > TXT_DOCUMENTO
>> > > > > =ALL (paramentroDaTela)*
>> > > > > *
>> > > > > *
>> > > > > *No caso 2: Se o comando funcionasse, traria apenas o código do
>> > > > documento,
>> > > > > no qual todas as palavras passadas como paramentro fazem parte.*
>> > > > > *
>> > > > > *
>> > > > > *Alguem tem alguma outra sugestão? PS: ORACLE 8I.*
>> > > > > *
>> > > > > *
>> > > > > *Em outras versões do oracle (a partir do 9i) eu utilizo o
>> > regexp_like.
>> > > > Ou
>> > > > > faço a busca por contexto.*
>> > > > > *
>> > > > > *
>> > > > > *Pablo*
>> > > > > *
>> > > > > *
>> > > > > *
>> > > > > *
>> > > > > *
>> > > > > *
>> > > > >
>> > > > >
>> > > > > [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 do grupo ORACLE_BR são de acesso público e de
>> inteira responsabilidade de seus remetentes.
>> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
>> ----------------------------------------------------------
>> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
>> >Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO
>> >ESPAÇO! VISITE: http://www.oraclebr.com.br/
>> ---------------------------------------------------------- Links do Yahoo!
>> Grupos
>>
>>  
>>
>
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a