- Home
- Categorie
- Coding e Sistemistica
- Coding
- Max data
-
Max data
La mia tabella è composta da Id-Idcliente-scadenza_certificato
esempio :
Id-Idcliente-scadenza_certificato
1 -- 1 ---- 2007/10/26
2 -- 1 ---- 2007/11/02
3 -- 2 ---- 2007/11/10Mi devo estrarre tutte le date max di ogni gruppo e poi prelevare solo quelle che sono minori o uguali della data odierna aumentata di 2
Se per esempio oggi fosse 08/10/2007 mi deve restituire solo
2 - 1 - 2007/11/02
3 - 2 - 2007/11/10Per ricavare solo le max date la query :
[php]
SELECT max(scadenza_certificato)as maggiore FROM certificato GROUP by idcliente
[/php]Per Ottenere tutto quello che voglio:
[php]
SELECT max(scadenza_certificato)AS maggiore FROM(SELECT scadenza_certificato FROM certificato WHERE scadenza_certificato <= NOW() + interval 2 day GROUP by idcliente)as certificato
[/php]Ma non va.Suggerimenti????
-
Ciao pippozzolo e Benvenuto nel Forum GT,
potresti darci ulteriori indicazioni su cos'è che non va? Le due query postate ti danno un errore? O semplicemente non ti danno il risultato aspettato?
Credo che la seconda query abbia la sintassi da rivedere.Non ho provato la query che segue ma dovrebbe funzionare, almeno nella logica:
** SELECT max(scadenza_certificato) FROM certificato WHERE scadenza_certificato IN (SELECT * FROM certificato WHERE scadenza_certificato <= (NOW() + interval 2 day)) GROUP by idcliente**
La subquery in rosso ti restituisce solo i record con data minore di oggi aumentata di 2 giorni. La query in nero seleziona invece il massimo delle date raggruppandole per idcliente, ma cerca tali record solo fra quelli che rispettano la subquery.
Spero sia ciò che cercavi.
Fammi sapere se funziona!