Problema com SQL

Firebird

26/01/2006

Bom, esse forum é coisa linda ! mas hoje eu preciso de uma ajudinha, é básica mas eu nao to conseguindo ! Uso Firebird, Delphi6.Lá vai.


|  Nº | Excluido  |
| 300 | null      | 
| 300 | null      |
| 300 | null      | 
| 300 | null      |
| 300 | 20/12/2005|
| 301 | null      |
| 301 | null      |
| 302 | null      |
| 310 | null      |
| 310 | 10/05/2005|


Quero que a consulta me mostre todos que não foram excluidos !
Neste exemplo, ele nao poderia mostrar o numero 300 e nem o 303.

Se eu soubesse montar :oops:
creio eu que seja assim. Ele conta quandos ´300´ tem, do resultado ele ve se algum foi excluido, se nenhum foi excluido ele mostra, se algum resultado do 300 foi excluido ele ja nao mostra o 300, dai ele passa para o 301, conta quantos 301 tem, se nenhum 301 é exluido ele mostra 301, senao ele nao mostra...

é facinho mas eu nao sei montar. !! quem me ajudar eu agradeço !

[color=green:32890f53d0]Movido de Delphi para Interbase/Firebird[/color:32890f53d0]


Mkkareka

Mkkareka

Curtidas 0

Respostas

Renato.pavan

Renato.pavan

26/01/2006

Bom, esse forum é coisa linda ! mas hoje eu preciso de uma ajudinha, é básica mas eu nao to conseguindo ! Uso Firebird, Delphi6.Lá vai.

|  Nº | Excluido  |
| 300 | null      | 
| 300 | null      |
| 300 | null      | 
| 300 | null      |
| 300 | 20/12/2005|
| 301 | null      |
| 301 | null      |
| 302 | null      |
| 310 | null      |
| 310 | 10/05/2005|
Quero que a consulta me mostre todos que não foram excluidos ! Neste exemplo, ele nao poderia mostrar o numero 300 e nem o 303. Se eu soubesse montar :oops: creio eu que seja assim. Ele conta quandos ´300´ tem, do resultado ele ve se algum foi excluido, se nenhum foi excluido ele mostra, se algum resultado do 300 foi excluido ele ja nao mostra o 300, dai ele passa para o 301, conta quantos 301 tem, se nenhum 301 é exluido ele mostra 301, senao ele nao mostra... é facinho mas eu nao sei montar. !! quem me ajudar eu agradeço !


Se eu entendi o q vc quiz dizer seria algo assim:
select * from tabela where Excluido is null


Espero q isso te ajude.

T+

Renato


GOSTEI 0
Mkkareka

Mkkareka

26/01/2006

mas desse jeito ele nao exlui certo, por exemplo ,

na instricao
select * from tabela where exluido is null 

ele vai me mostrar o numero 300, como o 300 já tem um excluido, ele nao deve constar no resultado da consulta !!! só deve constar no resultado os numeros totalmente nulos !

Valeu !


GOSTEI 0
Motta

Motta

26/01/2006

Qual a estrutura da tabela ?

Ocorre mais de uma ocorrencia para um nº , não ?


GOSTEI 0
Mkkareka

Mkkareka

26/01/2006

Grande Mota ! Já vi varios posts seus por aqui !!!

Como no exemplo que eu dei, pode sim o mesmo numero ocorrer varias vezes !

A estrutura da tabela é exatamente akela de cima, vai saber porque cargas d´ agua criaram desse jeito estranho, sem chave, sem normalização, porem é assim.

Seguindo este modo abaixo que eu citei , provavelmente dara certo.. mas eu nao sei montar em sql !!!

creio eu que seja assim. Ele conta quandos ´300´ tem, do resultado ele ve se algum foi excluido, se nenhum foi excluido ele mostra, se algum resultado do 300 foi excluido ele ja nao mostra o 300, dai ele passa para o 301, conta quantos 301 tem, se nenhum 301 é exluido ele mostra 301, senao ele nao mostra...


Valeu !


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

26/01/2006

Colega,

Se os dados não puderem ser repetidos, adicione distinct na instrução abaixo:

SELECT * FROM xTabela
where NUMERO NOT IN (SELECT NUMERO FROM xTabela WHERE excluido IS NOT NULL)



GOSTEI 0
POSTAR