ajuda nesse Select
02/03/2008
0
é o seguinte..
Tenho um select que retorna cdproduto de 1 a 10 por exemplo
e tenho outro select q retorna de 1 a 7
No caso,
queria descobrir quem sao os 3 registros do select 1 q não estao no select 2.
queria ter o retorno cdproduto (8,9,10)
Acho que deu pra entender.. né?
tentei assim mas nao deu.
select cdproduto from compra where cdcompra = 2 and cdproduto
except (select cdproduto from compra where cdcompra = 2 and sativo=´S´)
tentei tbm
e tbm nao deu.
select cdproduto from compra where cdcompra = 2 and cdproduto
not exists (select cdproduto from compra where cdcompra = 2 and sativo=´S´)
alguem sabe como eu faco pra retornar certo a informação???
Alguem pode me ajudar?
obrigado..!!!
Davefloripa
Posts
04/03/2008
Signori
nao sei se entendi muito bem mas vai uma sugestao:
select cdproduto from compra where cdcompra = 2 and
cdproduto <> (select cdproduto from compra where cdcompra = 2 and sativo=´S´)
nesse caso vc traria os produtos da compra 2, somente os q o campo sativo = ´N´.
nao sei se e isso q vc quer, mas testa ai e volta a postar qler coisa :wink:
13/03/2008
Emerson Nascimento
where cdcompra = 2 and not cdproduto in
(select cdproduto from compra where cdcompra = 2 and sativo=´S´)
19/03/2008
Wanderok
Os dois SELECTS estao sendo aplicados sobre a mesma tabela.
Isto só faz sentido para TABELAS DIFERENTES.
No caso apontado, sendo a mesma tabela, basta a sintaxe abaixo:
select cdproduto from compra
where cdcompra = 2 and cdproduto and sativo<>´S´
19/03/2008
Wanderok
select cdproduto from compra
where cdcompra = 2 and sativo<>´S´
20/03/2008
Edu2099
Aqui uma query que seleciona 2 visões diferentes da mesma tabela e traz os casos que as diferenciam:
create table #compra (cdcompra int, cdproduto int, sativo char(1)) insert into compra select 2, 1, ´S´ insert into compra select 2, 2, ´S´ insert into compra select 2, 3, ´S´ insert into compra select 2, 4, ´S´ insert into compra select 2, 5, ´S´ insert into compra select 2, 6, ´S´ insert into compra select 2, 7, ´S´ insert into compra select 2, 8, ´N´ insert into compra select 2, 9, ´N´ insert into compra select 2, 10, ´N´ select a.cdproduto from compra a left join compra b on a.cdcompra =b.cdcompra and a.cdproduto=b.cdproduto and b.sativo=´S´ where a.cdcompra = 2 and b.cdproduto is null
Abraço!
Clique aqui para fazer login e interagir na Comunidade :)