Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernandes.mcp

Preciso de em um Select

Recommended Posts

Boa Tarde Pessoa...

 

Bom tenho esse select aki

 

SELECT 
CODLOJA as 'Código da Loja', 
ETQPROT as 'Número Protocolo', 
DDDNUMERO as 'Número Telefone', 
Left(EntryDate,10) as 'Data' 

FROM EXP_PROTOCOLO 

WHERE CODLOJA = 'GOL1001001' 
and 
(ETQPROT = '2811607'or ETQPROT is null) 
and 
(DDDNUMERO = '6299796215') 
and 
(EntryDate LIKE '%2007-06-26%')

Onde CODLOJA, ETQPROT, DDDNUMERO e EntryDate.... vem de uma página asp.net de 4 textbox...

Até ae Tudo bem... quando os 4 campos estão preenchidos...

 

Eu preciso que esse select... se não tiver os 4 campos com valores.. continue efetuando o select

exemplo nessa proc eu consigo fazer certo.

 

Create Procedure sp_con_Relatorio

@CODLOJA varchar(200),

@ETQPROT varchar(200)=null,

@DDDNUMERO varchar(200)=null,

@EntryDate varchar(200)=null

as

SELECT

CODLOJA as 'Código da Loja',

ETQPROT as 'Número Protocolo',

DDDNUMERO as 'Número Telefone',

Left(EntryDate,10) as 'Data'

FROM

EXP_PROTOCOLO

WHERE

CODLOJA = @CODLOJA

and

(ETQPROT = @ETQPROT or @ETQPROT is null)

and

(DDDNUMERO = @DDDNUMERO or @DDDNUMERO is null)

and

(EntryDate LIKE '%' + @EntryDate + '%' or @EntryDate is null)

Vlw pessoal Obrigado... deve ser alguma besteirinha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensando rapido e em plena quinta-feira, acho que um case funcionaria.

Eu faria uma proc recebendo estas variaveis e trataria com case dentro delas. É uma ideia.

 

Abçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia me ajudar a implementar Um case nesse Select Por favor?

 

SELECT 
CODLOJA as 'Código da Loja', 
ETQPROT as 'Número Protocolo', 
DDDNUMERO as 'Número Telefone', 
Left(EntryDate,10) as 'Data' 

FROM EXP_PROTOCOLO 

WHERE CODLOJA = 'GOL1001001' 
and 
(ETQPROT = '2811607'or ETQPROT is null) 
and 
(DDDNUMERO = '6299796215') 
and 
(EntryDate LIKE '%2007-06-26%')

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou quase lah...

 

Só estou com um problema agora...

 

DECLARE 
@CODLOJA varchar(200), 
@ETQPROT varchar(200), 
@DDDNUMERO varchar(200), 
@EntryDate varchar (200) 

SET @CODLOJA = 'GOL1001001'
SET @ETQPROT = '2811607'
SET @DDDNUMERO = '6299796215'
SET @EntryDate = ''

SELECT 
CODLOJA as 'Código da Loja', 
ETQPROT as 'Número Protocolo', 
DDDNUMERO as 'Número Telefone', 
Left(EntryDate,10) as 'Data' 

FROM EXP_PROTOCOLO 

WHERE 
CODLOJA = @CODLOJA 
and 
(ETQPROT = @ETQPROT or @ETQPROT is null) 
and 
(DDDNUMERO = @DDDNUMERO or @DDDNUMERO is null) 
and 
(EntryDate LIKE '%' + @EntryDate + '%' or @EntryDate is null)

O problema é que ele só faz a pesquisa se vir null a variável..

 

Mas como esta vindo assim @EntryDate = ''

 

Ele não efetua a pesquisa... tem alguma forma será?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou quase lah...

 

Só estou com um problema agora...

 

DECLARE 
@CODLOJA varchar(200), 
@ETQPROT varchar(200), 
@DDDNUMERO varchar(200), 
@EntryDate varchar (200) 

SET @CODLOJA = 'GOL1001001'
SET @ETQPROT = '2811607'
SET @DDDNUMERO = '6299796215'
SET @EntryDate = ''

SELECT 
CODLOJA as 'Código da Loja', 
ETQPROT as 'Número Protocolo', 
DDDNUMERO as 'Número Telefone', 
Left(EntryDate,10) as 'Data' 

FROM EXP_PROTOCOLO 

WHERE 
CODLOJA = @CODLOJA 
and 
(ETQPROT = @ETQPROT or @ETQPROT is null) 
and 
(DDDNUMERO = @DDDNUMERO or @DDDNUMERO is null) 
and 
(EntryDate LIKE '%' + @EntryDate + '%' or @EntryDate is null)

O problema é que ele só faz a pesquisa se vir null a variável..

 

Mas como esta vindo assim @EntryDate = ''

 

Ele não efetua a pesquisa... tem alguma forma será?

Fernando pelo que pude entender ele só retorna o select se a @EntryDate for null, pois se for '' (valor em branco) ele não consegue localizar.

 

Então faça um IF antes de fazer o select

 

if @entrydate = ''

begin

set @entrydate = null

end

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.