Array
(
)

Valores <> de zero sem where

Jordelino Santos
|
MVP
    31 mar 2010

Tem como em um select simples usar uma função do sql server para trazer registros onde por exemplo um campo seja maior que zero sem usar o where. Algo parecido com o select abaixo:
select
   campoA,
   funcao(campoA > 0)
from
   tabelaA

Emerson
   - 31 mar 2010

e qual seria o resultado final? dê um exemplo de resultset seguindo o propósito da sua questão.

eu não entendi como seria o resultado disso...

Jordelino Santos
|
MVP
    01 abr 2010


Citação:
e qual seria o resultado final? dê um exemplo de resultset seguindo o propósito da sua questão.

eu não entendi como seria o resultado disso...


É assim. Imagine que eu queira trazer os itens de uma venda onde a quantidade vendida de um produto fosse maior que zero eu faria :

select
  VendaID,
  ProdutoID,
  Qtde,
  ValorUnit
from
   itensvenda
where
   Qtde > 0

Agora, usando esse mesmo select sem usar o where apenas usando uma função do sql server assim:
select
  VendaID,
  ProdutoID,
  Qtde,
  funcao(Qtde > 0)
from
   itensvenda

Ou seja, uma função que faça o mesmo filtro que o where. Já tentei com distinct, nullif, coalesce, ceiling mas não funcionou.

Emerson
   - 01 abr 2010

desculpe mas não faz sentido...

1o. que tipo de venda é essa onde a quantidade pode ser 0 (zero) ????
2o. o que seria exibido, seguindo sua sugestão. eu pedi pra você postar um exemplo do retorno de dados, e não da instrução desejada. passe um exemplo assim:

tenho os seguintes registros...

ItensVenda
-----------
ItemVendaID  VendaID   ProdutoID    Qtde      ValorUnit
1              100        12             0 (????)   13
2              100        6              5          4,65
3              100        8              3          5,5
4              100        145            0 (???)    1,8
5              45         99             14         8
6              45         22             6          6,5
7              45         50             0 (???)    14
8              73         6              1          4,65
9              73         8              0 (???)    5,5

usando os registros acima, como você espera o resultado?

Jordelino Santos
|
MVP
    01 abr 2010


Citação:
desculpe mas não faz sentido...

1o. que tipo de venda é essa onde a quantidade pode ser 0 (zero) ????
2o. o que seria exibido, seguindo sua sugestão. eu pedi pra você postar um exemplo do retorno de dados, e não da instrução desejada. passe um exemplo assim:

tenho os seguintes registros...

ItensVenda
-----------
ItemVendaID  VendaID   ProdutoID    Qtde      ValorUnit
1              100        12             0 (????)   13
2              100        6              5          4,65
3              100        8              3          5,5
4              100        145            0 (???)    1,8
5              45         99             14         8
6              45         22             6          6,5
7              45         50             0 (???)    14
8              73         6              1          4,65
9              73         8              0 (???)    5,5

usando os registros acima, como você espera o resultado?


O exemplo com qtde > 0 é ficticio mas pode ser então qtde > 1
o que será exibido é exatamente esse grid que você passou.
Vlw