|
Postada em 24/01/2008 21:41 hs
Quero pegar todos os dados Banco de dados Mysql Quero pegar todos os dados no periodo 01/01/2008 a 01/03/2008 com os campos DESCRICAO E FORNECEDOR = "" Pelos campos DESCRICAO e FORNECEDOR estarem = "" Ele esta me trazendo todos os dados da tabela e não so os dados do determinado periodo Select PG.CODIGO, ifnull(FORN.RAZAO_SOCIAL,'-') as FORNECEDOR, PG.DESCRICAO as DESCRICAO, DATE_FORMAT(PG.VENCIMENTO,'%d/%m/%Y') as VENCIMENTO from PAGAR as PG left join FORNECEDORES as FORN on PG.COD_FORNECEDOR = FORN.CODIGO where PG.POS like '%N%' and PG.DESCRICAO like '%%' or FORN.RAZAO_SOCIAL like '%%' and PG.EMISSAO between '2008/01/01' and '2008/01/03' order by PG.EMISSAO DESC
|
|
|
|
Donkey
|
PRESIDENTE PRUDENTE SP - BRASIL
|
|
Postada em 25/01/2008 09:47 hs
Se não me engano o like usado com dois % traz o registro que contenha o caracter procurado (no caso espaço vazio) em qualquer parte do nome. Como praticamente todo nome tem um espaço ao menos (entre o nome e sobrenome) por isso esta trazendo tudo, ao inves do like use apenas where nome = ''
Tente isso... T+
|
|
|
|
Postada em 25/01/2008 16:34 hs
as datas tem que ser formatadas com o caracter #
Ex.:
sql = "" sql = sql & "select * from Tabela" sql = sql & " where " sql = sql & " Data >= " & "#" & Format(txtDataIni.Text, "yyyy/mm/dd") & "#" sql = sql & " and " sql = sql & " Data <= " & "#" & Format(txtDataFim.Text, "yyyy/mm/dd") & "#"
espedo que lhe ajude
|
|
|
Donkey
|
PRESIDENTE PRUDENTE SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 26/01/2008 00:59 hs
# não é pro access? Se não me engano sql server e mysql são aspas simples para pesquisas com data. Acho que o problema ta no like mesmo...
T+
|
|
|
|
Postada em 28/01/2008 11:23 hs
troque isso PG.DESCRICAO like '%%' por isnull(PG.DESCRICAO)
|
|
|