Fórum Como fazer uma pesquisa (SQL) em Paradox ?? #241163
03/07/2004
0
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
Curtir tópico
+ 0
Responder
Posts
03/07/2004
Adilsond
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;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)