Como fazer uma pesquisa (SQL) em Paradox ??
como fazer uma pesquisa em sql em base paradox onde:
- achar a maior data dentre cada grupo sendo que essa data tem de ser maior que ´01/01/2004´.
eu fiz o seguinte:
select insc, max(data) as ultimo
from tabela
where data>´01/01/2004´
group by insc
so que o where deveria filtrar a data do resultado do max(data), e não faz isso.
Espero que tenha dado para entender, obrigado.
- achar a maior data dentre cada grupo sendo que essa data tem de ser maior que ´01/01/2004´.
eu fiz o seguinte:
select insc, max(data) as ultimo
from tabela
where data>´01/01/2004´
group by insc
so que o where deveria filtrar a data do resultado do max(data), e não faz isso.
Espero que tenha dado para entender, obrigado.
Canuto
Curtidas 0
Respostas
Adilsond
03/07/2004
Para filtrar no grupo utilize o having
Só que no seu caso, o sql acima terá o mesmo resultado do sql abaixo:
with MinhaQuery do begin if Active then Close; SQL.Clear; SQL.Add(´select insc,´); SQL.Add(´ max(data) as ultimo´); SQL.Add(´from tabela´); SQL.Add(´group by insc´); SQL.Add(´having max(data) > :pData´); SQL.Add(´order by 1´); // ordena pela primeira coluna ParamByName(´pData´).AsDate := StrToDate(´01/01/2004´); Open; end;
Só que no seu caso, o sql acima terá o mesmo resultado do sql abaixo:
with MinhaQuery do begin if Active then Close; SQL.Clear; SQL.Add(´select insc,´); SQL.Add(´ max(data) as ultimo´); SQL.Add(´from tabela´); SQL.Add(´where data > :pData´); SQL.Add(´group by insc´); SQL.Add(´order by 1´); // ordena pela primeira coluna ParamByName(´pData´).AsDate := StrToDate(´01/01/2004´); Open; end;
GOSTEI 0