dúvida com select

Firebird

30/07/2007

Olá,

tenho uma tabela com os seguintes campos:

n_reqcod_orcentrega
125/07sim
232/07sim
325/07não
445/07sim
532/07sim


onde cada orcamento pode ter várias requisições, gostaria q um select só me retornasse os registros cuja entrega seja ´sim´ mas por orcamento, ou seja,
se aplicada na tabela acima, o retorno tem q ser:

232/07sim
445/07sim
532/07sim

o orcamento 25/07 não deve aparecer pois uma de suas requisições está ´não´;

Obrigado


Fajo

Fajo

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

30/07/2007

select
  * 
from
  requisicoes
where
  not cod_orc in
    (select
       cod_orc
     from
       requisicoes
     where
       entrega = ´não´)
order by
  cod_orc, n_req



GOSTEI 0
Fajo

Fajo

30/07/2007

deu certo não


GOSTEI 0
Adriano_servitec

Adriano_servitec

30/07/2007

Olá, tenho uma tabela com os seguintes campos: n_reqcod_orcentrega 125/07sim 232/07sim 325/07não 445/07sim 532/07sim onde cada orcamento pode ter várias requisições, gostaria q um select só me retornasse os registros cuja entrega seja ´sim´ mas por orcamento, ou seja, se aplicada na tabela acima, o retorno tem q ser: 232/07sim 445/07sim 532/07sim o orcamento 25/07 não deve aparecer pois uma de suas requisições está ´não´; Obrigado


Nao eh soh fazer assim
select n_req, cod_orc, entrega
from requisicoes
where entrega = ´Sim´



GOSTEI 0
Adriano_servitec

Adriano_servitec

30/07/2007

Desculpe depois que eu vi a pergunta
[b:e4f593e47c]o orcamento 25/07 não deve aparecer pois uma de suas requisições está ´não´; [/b:e4f593e47c]

Ela esta repetida como sim e não.

Entao a resposta do Emerson esta correta, verifique se no banco esta gravado assim como vc mostrou, pois um acento ou uma letra em maiusculo vai fazer a diferença.

Tipo
Não
ou
nao

sendo que a condiçao esta assim
não


GOSTEI 0
Fajo

Fajo

30/07/2007

vamos fazer uma reformulação

o campo entrega por padrão é nulo, ou seja, ou vai ficar sim quando for feita a entrega ou nulo se não for, bom, eu pensei então q só era tirar o ´where entrega = ´não´´ e colocar ´where entrega is null´, mas não funcionou de nenhuma das duas formas


GOSTEI 0
Fajo

Fajo

30/07/2007

e outra, não é q ela esteja repetida, é uma requisição diferente só q para um mesmo orcamento, e sendo assim, esse orcamento não deve aparecer no resultado, pois somente os orcamentos com todas as suas requisições entregues devem aparecer


GOSTEI 0
POSTAR