Pesquisas múltiplas
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!!!!
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
Curtidas 0
Respostas
Renato Rubinho
14/08/2014
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
Abraççç,
Renato
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
GOSTEI 0
Mirelle Bueno
14/08/2014
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 :/
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 :/
GOSTEI 0
Mirelle Bueno
14/08/2014
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)+ '%")');
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)+ '%")');
GOSTEI 0