Fórum Pesquisas múltiplas #488903

14/08/2014

0

olá pessoal, estou com um problema de pesquisa.
Tenho um banco mysql e plataforma delphi 7
então, tenho um banco vencimento com tres datas: data1,data2 e data3. dai eu faria uma pesquisa com a data de hj, apartir dela me mostraria quais desses campos(data1,data2,e data3) teriam a data de hj.
com uma das datas ele funciona, mas por exemplo, vai q no campo data2 e data3 tenham a data de hoje, ele só mostra de uma, e não das duas. Entenderam?
já tentei com if, com case e até com o while, mas ele só me mostra 1 e não as duas.
Obrigado!!!!
Mirelle Bueno

Mirelle Bueno

Responder

Posts

15/08/2014

Renato Rubinho

Buenas,

Não tenho certeza se entendi direito o que precisa.

Você quer o resultado mostrando 1 registro apenas contendo os nomes das colunas que são iguais a esta data:

DATA1 DATA2 DATA3 DATA_PESQUISADA COLUNAS_ENCONTRADAS
16/10/07 16/10/07 16/10/07 16/10/07 DATA1 DATA2 DATA3
16/10/07 20/11/07 21/11/07 16/10/07 DATA1
11/09/07 16/10/07 16/10/07 16/10/07 DATA2 DATA3

SELECT
  DATA1,
  DATA2,
  DATA3,
  :W_DATA AS DATA_PESQUISADA,
  (CASE WHEN DATA1 = :W_DATA THEN 'DATA1 ' ELSE '' END ||
   CASE WHEN DATA2 = :W_DATA THEN 'DATA2 ' ELSE '' END ||
   CASE WHEN DATA3 = :W_DATA THEN 'DATA3 ' ELSE '' END ) AS COLUNAS_ENCONTRADAS
FROM
  TABELA 
WHERE ( DATA1 = :W_DATA
OR      DATA2 = :W_DATA 
OR      DATA3 = :W_DATA )


Abraççç,
Renato
Responder

Gostei + 0

15/08/2014

Mirelle Bueno

olá renatoo, obrigadoo por responder.
Então , é meio confuso mesmo kkkkkkkkk. é assim eu tenho tres datas e basicamente tenho q ver quais delas tem a data de hoje(15/08/2014), cada data tem um codigo correspondente q é o código do cliente, e é esse que queiro encontrar para outras pesquisas tendeu?
se eu colocar a data de hj só uma data, ele acha certo, mas se eu coloco por exemplo na data1 e data2 ele só me tras o valor da primeira :/
Responder

Gostei + 0

16/08/2014

Mirelle Bueno

Pessoal, descobri o problema, vou postar aqui.
a questão era saber colocar as aspas foi ai q eu penei , enfim seguem o código.

Query.Sql.Add('select * from vencimento where (data1 like"' +datetostr(hj)+ '%") or (data2 like"'+datetostr(hj)+'%") or (data3 like"' +datetostr(hj)+ '%")');
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar