Re: RES: [oracle_br] problema sql

2005-07-12 Por tôpico Marcio R Portes
Seguramente, existem varios outros metodos, aqui vai um exemplo de mais 
um deles.

[EMAIL PROTECTED]> create or replace type array as table of varchar2 (50);
   2  /

Type created.

[EMAIL PROTECTED]>
[EMAIL PROTECTED]> create or replace function f ( p_string in varchar2 )
   2  return array
   3  is
   4  l_stringvarchar2(50) default p_string || ',';
   5  l_data  array := array();
   6  n   number;
   7  begin
   8loop
   9exit when l_string is null;
  10n := instr( l_string, ',' );
  11l_data.extend;
  12l_data(l_data.count) :=
  13   ltrim( rtrim( substr( l_string, 1, n-1 ) ) );
  14l_string := substr( l_string, n+1 );
  15end loop;
  16return l_data;
  17  end;
  18  /

Function created.

[EMAIL PROTECTED]> show error
No errors.
[EMAIL PROTECTED]> select * from t;

 X
-
 2
 3
 4
45
36
26
74

7 rows selected.

[EMAIL PROTECTED]> select cast( column_value as number ) x
   2from table( cast( f('1,2,3,4,5,6,7,8') as array ) )
   3  /

 X
-
 1
 2
 3
 4
 5
 6
 7
 8

8 rows selected.

[EMAIL PROTECTED]>
[EMAIL PROTECTED]> select cast( column_value as number ) x
   2from table( cast( f('1,2,3,4,5,6,7,8') as array ) )
   3  minus
   4  select x from t;

 X
-
 1
 5
 6
 7
 8

5 rows selected.

--
Marcio Portes
http://mportes.blogspot.com


Rafael Mueller wrote:
> O problema é que A não é uma tabela, é uma string, apenas uma
> sequencia de códigos
> 
> On 7/12/05, Gari Julio Einsfeldt <[EMAIL PROTECTED]> wrote:
> 
>>Use a teoria dos conjuntos:
>>
>>select A from X
>>minus
>>select B from Y
>>/
>>
>>O resultado sera a lista de valores de A que não existem em B.
>>
>>-Mensagem original-
>>De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
>>nome de Rafael Mueller
>>Enviada em: terça-feira, 12 de julho de 2005 10:08
>>Para: oracle_br@yahoogrupos.com.br
>>Assunto: [oracle_br] problema sql
>>
>>
>>Olá,
>>
>>não estou conseguindo montar o sql para fazer o seguinte. Eu recebo
>>uma sequencia com n códigos (digamos 1,2,3,4,5,6,7,8) e tenho uma
>>tabela com vários códigos(2,3,4,45,36,26,74).
>>
>>Preciso saber como seria o SQL para eu descobrir quais códigos da
>>sequencia que eu recebo não estão na tabela. (Neste caso 1,5,6,7,8)
>>
>>Grato
>>
>>
>>__
>>
>>Cancelar assinatura...: [EMAIL PROTECTED]
>>Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED]
>>Fernanda Damous [EMAIL PROTECTED]
>>Alisson Aguiar [EMAIL PROTECTED]
>>__
>>http://br.groups.yahoo.com/group/oracle_br/
>>__
>>
>>Sair da Lista...: [EMAIL PROTECTED]
>>Links do Yahoo! Grupos
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>__
>>
>>Cancelar assinatura...: [EMAIL PROTECTED]
>>Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED]
>>Fernanda Damous [EMAIL PROTECTED]
>>Alisson Aguiar [EMAIL PROTECTED]
>>__
>>http://br.groups.yahoo.com/group/oracle_br/
>>__
>>
>>Sair da Lista...: [EMAIL PROTECTED]
>>Links do Yahoo! Grupos
>>
>>
>>
>>
>>
>>
>>
>>
> 
> 
> 
> __
> 
> Cancelar assinatura...: [EMAIL PROTECTED]
> Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
> Fernanda Damous [EMAIL PROTECTED] 
> Alisson Aguiar [EMAIL PROTECTED]
> __
> http://br.groups.yahoo.com/group/oracle_br/ 
> __
> 
> Sair da Lista...: [EMAIL PROTECTED] 
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 
> 


__

Cancelar assinatura...: [EMAIL PROTECTED]
Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
Fernanda Damous [EMAIL PROTECTED] 
Alisson Aguiar [EMAIL PROTECTED]
__
http://br.groups.yahoo.com/group/oracle_br/ 
__

Sair da Lista...: [EMAIL PROTECTED] 
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.c

Re: RES: [oracle_br] problema sql

2005-07-12 Por tôpico Rafael Mueller
Vou fazer uma função então, 

Obrigado a todos que responderam

On 7/12/05, Ronaldo Sales <[EMAIL PROTECTED]> wrote:
> Se fosse o contrario, o que tem na tabela e não tem na lista era fácil. Mas 
> em sendo o que tem na lista que não tem na tabela somente com sql puro fica 
> complicado.
> 
> Teria que criar uma funçãozinha pra quebrar a sua string.
> 
> Ronaldo.
> 
> 
> 
> 
> 
> De:oracle_br@yahoogrupos.com.br
> 
> Para:oracle_br@yahoogrupos.com.br
> 
> Cópia:
> 
> Data:Tue, 12 Jul 2005 11:18:18 -0300
> 
> Assunto:Re: RES: [oracle_br] problema sql
> 
> O problema é que A não é uma tabela, é uma string, apenas uma
> sequencia de códigos
> 
> On 7/12/05, Gari Julio Einsfeldt wrote:
> > Use a teoria dos conjuntos:
> >
> > select A from X
> > minus
> > select B from Y
> > /
> >
> > O resultado sera a lista de valores de A que não existem em B.
> >
> > -Mensagem original-
> > De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
> > nome de Rafael Mueller
> > Enviada em: terça-feira, 12 de julho de 2005 10:08
> > Para: oracle_br@yahoogrupos.com.br
> > Assunto: [oracle_br] problema sql
> >
> >
> > Olá,
> >
> > não estou conseguindo montar o sql para fazer o seguinte. Eu recebo
> > uma sequencia com n códigos (digamos 1,2,3,4,5,6,7,8) e tenho uma
> > tabela com vários códigos(2,3,4,45,36,26,74).
> >
> > Preciso saber como seria o SQL para eu descobrir quais códigos da
> > sequencia que eu recebo não estão na tabela. (Neste caso 1,5,6,7,8)
> >
> > Grato
> >
> >
> > __
> >
> > Cancelar assinatura...: [EMAIL PROTECTED]
> > Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED]
> > Fernanda Damous [EMAIL PROTECTED]
> > Alisson Aguiar [EMAIL PROTECTED]
> > __
> > http://br.groups.yahoo.com/group/oracle_br/
> > __
> >
> > Sair da Lista...: [EMAIL PROTECTED]
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > __
> >
> > Cancelar assinatura...: [EMAIL PROTECTED]
> > Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED]
> > Fernanda Damous [EMAIL PROTECTED]
> > Alisson Aguiar [EMAIL PROTECTED]
> > __
> > http://br.groups.yahoo.com/group/oracle_br/
> > __
> >
> > Sair da Lista...: [EMAIL PROTECTED]
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 
> __
> 
> Cancelar assinatura...: [EMAIL PROTECTED]
> Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED]
> Fernanda Damous [EMAIL PROTECTED]
> Alisson Aguiar [EMAIL PROTECTED]
> __
> http://br.groups.yahoo.com/group/oracle_br/
> __
> 
> Sair da Lista...: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
> 
> 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
> __
> 
> Cancelar assinatura...: [EMAIL PROTECTED]
> Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED]
> Fernanda Damous [EMAIL PROTECTED]
> Alisson Aguiar [EMAIL PROTECTED]
> __
> http://br.groups.yahoo.com/group/oracle_br/
> __
> 
> Sair da Lista...: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
> 
> 
> 
> 
> 
> 
> 
> 
>


__

Cancelar assinatura...: [EMAIL PROTECTED]
Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
Fernanda Damous [EMAIL PROTECTED] 
Alisson Aguiar [EMAIL PROTECTED]
__
http://br.groups.yahoo.com/group/oracle_br/ 
__

Sair da Lista...: [EMAIL PROTECTED] 
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

 




Re: RES: [oracle_br] problema sql

2005-07-12 Por tôpico Ronaldo Sales
Se fosse o contrario, o que tem na tabela e não tem na lista era fácil. Mas em 
sendo o que tem na lista que não tem na tabela somente com sql puro fica 
complicado.

Teria que criar uma funçãozinha pra quebrar a sua string.

Ronaldo.





De:oracle_br@yahoogrupos.com.br

Para:oracle_br@yahoogrupos.com.br

Cópia:

Data:Tue, 12 Jul 2005 11:18:18 -0300

Assunto:Re: RES: [oracle_br] problema sql

O problema é que A não é uma tabela, é uma string, apenas uma
sequencia de códigos

On 7/12/05, Gari Julio Einsfeldt wrote:
> Use a teoria dos conjuntos:
> 
> select A from X
> minus
> select B from Y
> /
> 
> O resultado sera a lista de valores de A que não existem em B.
> 
> -Mensagem original-
> De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
> nome de Rafael Mueller
> Enviada em: terça-feira, 12 de julho de 2005 10:08
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] problema sql
> 
> 
> Olá,
> 
> não estou conseguindo montar o sql para fazer o seguinte. Eu recebo
> uma sequencia com n códigos (digamos 1,2,3,4,5,6,7,8) e tenho uma
> tabela com vários códigos(2,3,4,45,36,26,74).
> 
> Preciso saber como seria o SQL para eu descobrir quais códigos da
> sequencia que eu recebo não estão na tabela. (Neste caso 1,5,6,7,8)
> 
> Grato
> 
> 
> __
> 
> Cancelar assinatura...: [EMAIL PROTECTED]
> Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED]
> Fernanda Damous [EMAIL PROTECTED]
> Alisson Aguiar [EMAIL PROTECTED]
> __
> http://br.groups.yahoo.com/group/oracle_br/
> __
> 
> Sair da Lista...: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
> 
> 
> 
> 
> 
> 
> 
> 
> 
> __
> 
> Cancelar assinatura...: [EMAIL PROTECTED]
> Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED]
> Fernanda Damous [EMAIL PROTECTED]
> Alisson Aguiar [EMAIL PROTECTED]
> __
> http://br.groups.yahoo.com/group/oracle_br/
> __
> 
> Sair da Lista...: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
> 
> 
> 
> 
> 
> 
> 
>


__

Cancelar assinatura...: [EMAIL PROTECTED]
Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
Fernanda Damous [EMAIL PROTECTED] 
Alisson Aguiar [EMAIL PROTECTED]
__
http://br.groups.yahoo.com/group/oracle_br/ 
__

Sair da Lista...: [EMAIL PROTECTED] 
Links do Yahoo! Grupos





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



__

Cancelar assinatura...: [EMAIL PROTECTED]
Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
Fernanda Damous [EMAIL PROTECTED] 
Alisson Aguiar [EMAIL PROTECTED]
__
http://br.groups.yahoo.com/group/oracle_br/ 
__

Sair da Lista...: [EMAIL PROTECTED] 
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

 





Re: RES: [oracle_br] problema sql

2005-07-12 Por tôpico Rafael Mueller
O problema é que A não é uma tabela, é uma string, apenas uma
sequencia de códigos

On 7/12/05, Gari Julio Einsfeldt <[EMAIL PROTECTED]> wrote:
> Use a teoria dos conjuntos:
> 
> select A from X
> minus
> select B from Y
> /
> 
> O resultado sera a lista de valores de A que não existem em B.
> 
> -Mensagem original-
> De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
> nome de Rafael Mueller
> Enviada em: terça-feira, 12 de julho de 2005 10:08
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] problema sql
> 
> 
> Olá,
> 
> não estou conseguindo montar o sql para fazer o seguinte. Eu recebo
> uma sequencia com n códigos (digamos 1,2,3,4,5,6,7,8) e tenho uma
> tabela com vários códigos(2,3,4,45,36,26,74).
> 
> Preciso saber como seria o SQL para eu descobrir quais códigos da
> sequencia que eu recebo não estão na tabela. (Neste caso 1,5,6,7,8)
> 
> Grato
> 
> 
> __
> 
> Cancelar assinatura...: [EMAIL PROTECTED]
> Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED]
> Fernanda Damous [EMAIL PROTECTED]
> Alisson Aguiar [EMAIL PROTECTED]
> __
> http://br.groups.yahoo.com/group/oracle_br/
> __
> 
> Sair da Lista...: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
> 
> 
> 
> 
> 
> 
> 
> 
> 
> __
> 
> Cancelar assinatura...: [EMAIL PROTECTED]
> Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED]
> Fernanda Damous [EMAIL PROTECTED]
> Alisson Aguiar [EMAIL PROTECTED]
> __
> http://br.groups.yahoo.com/group/oracle_br/
> __
> 
> Sair da Lista...: [EMAIL PROTECTED]
> Links do Yahoo! Grupos
> 
> 
> 
> 
> 
> 
> 
>


__

Cancelar assinatura...: [EMAIL PROTECTED]
Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
Fernanda Damous [EMAIL PROTECTED] 
Alisson Aguiar [EMAIL PROTECTED]
__
http://br.groups.yahoo.com/group/oracle_br/ 
__

Sair da Lista...: [EMAIL PROTECTED] 
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

 




RES: [oracle_br] problema sql

2005-07-12 Por tôpico Gari Julio Einsfeldt
Use a teoria dos conjuntos:

select A from X
minus
select B from Y
/

O resultado sera a lista de valores de A que não existem em B.

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Rafael Mueller
Enviada em: terça-feira, 12 de julho de 2005 10:08
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] problema sql


Olá,

não estou conseguindo montar o sql para fazer o seguinte. Eu recebo
uma sequencia com n códigos (digamos 1,2,3,4,5,6,7,8) e tenho uma
tabela com vários códigos(2,3,4,45,36,26,74).

Preciso saber como seria o SQL para eu descobrir quais códigos da
sequencia que eu recebo não estão na tabela. (Neste caso 1,5,6,7,8)

Grato


__

Cancelar assinatura...: [EMAIL PROTECTED]
Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
Fernanda Damous [EMAIL PROTECTED] 
Alisson Aguiar [EMAIL PROTECTED]
__
http://br.groups.yahoo.com/group/oracle_br/ 
__

Sair da Lista...: [EMAIL PROTECTED] 
Links do Yahoo! Grupos




 




__

Cancelar assinatura...: [EMAIL PROTECTED]
Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
Fernanda Damous [EMAIL PROTECTED] 
Alisson Aguiar [EMAIL PROTECTED]
__
http://br.groups.yahoo.com/group/oracle_br/ 
__

Sair da Lista...: [EMAIL PROTECTED] 
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

 




RES: [oracle_br] problema sql

2005-07-12 Por tôpico Salvio Padlipskas
Rafael,

Utilize o operador not exists que talvez possa lhe ajudar.

select cod, nome from funcionario
where not exists ( select 1 from s_pedido 
where s_pedido.cod_vendedor = funcionario.cod );

No exemplo acima é exibido todos os funcionarios que não tenha pedido
realizado.

[ ]'s
Salvio Padipskas



-Mensagem original-
De: Rafael Mueller [mailto:[EMAIL PROTECTED]
Enviada em: terça-feira, 12 de julho de 2005 10:08
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] problema sql


Olá,

não estou conseguindo montar o sql para fazer o seguinte. Eu recebo
uma sequencia com n códigos (digamos 1,2,3,4,5,6,7,8) e tenho uma
tabela com vários códigos(2,3,4,45,36,26,74).

Preciso saber como seria o SQL para eu descobrir quais códigos da
sequencia que eu recebo não estão na tabela. (Neste caso 1,5,6,7,8)

Grato


__

Cancelar assinatura...: [EMAIL PROTECTED]
Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
Fernanda Damous [EMAIL PROTECTED] 
Alisson Aguiar [EMAIL PROTECTED]
__
http://br.groups.yahoo.com/group/oracle_br/ 
__

Sair da Lista...: [EMAIL PROTECTED] 
Links do Yahoo! Grupos




 



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



__

Cancelar assinatura...: [EMAIL PROTECTED]
Moderadores da lista:Dorian Anderson Soutto [EMAIL PROTECTED] 
Fernanda Damous [EMAIL PROTECTED] 
Alisson Aguiar [EMAIL PROTECTED]
__
http://br.groups.yahoo.com/group/oracle_br/ 
__

Sair da Lista...: [EMAIL PROTECTED] 
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