Newsgroup: it.comp.appl.access
Titolo: Ricerca record con max di data

Un saluto a tutti i partecipanti
Non riesco a trovare una soluzione ad una cosa probabilmente banale.
Ho questa situazione in una tabella con 6  campi:
IDMov, IDPezzo, Comp_1, DataCarico, Dettaglio_1, Dettaglio_2
vorrei con una query estrarre il record dove IDMov di ogni IDPezzo e Comp_1 sia il max di DataCarico.
confido nel vostro aiuto e ringrazio in anticipo
  Gabriele
 

Se non ho capito male una query simile:
 
Select T1.Provenienza,MAXP.IdProdotto,MAXP.Massimo
    From T1
    RIGHT JOIN
        (select IdProdotto, Max(Prezzo) as Massimo
         From T1
         Group By IdProdotto) AS MAXP
    ON T1.IdProdotto=MAXP.IdProdotto AND T1.Prezzo=MAXP.Massimo
 
Questa estrae il MAX prezzo per ogni IdProdotto da una tabella di movimento articoli con vari prezzi... prova ad adattarla al tuo caso specifico.
 
@Alex

It happens that gabr****** formulated :

Un esempio non farebbe male.
Ci vuol più tempo a costruir la tabelle d'esempio che a risolvere
il problema.
 
Bruno


Butto giù un esempio:
IDMov, IDPezzo, Comp_1, DataCarico, Dettaglio_1, Dettaglio_2 
1001;  2555;  30;  10/10/21; VERDE; ROSSO
1002;  2555;  30;  05/10/21; VERDE; ROSSO
1003;  2555;  40;  07/10/21; VERDE; ROSSO
1004;  2555;  30;  08/10/21; BIANCO; ROSSO
1005;  2555;  40;  06/10/21; NERO; ROSSO
1006;  2555;  30;  11/10/21; GIALLO; ROSSO
 
Dall'insieme di IDPezzo e Comp_1 dovrei estrarre quello con la data più grande e cioè:
del 2555 30 sarebbe il record con i dettagli Giallo e Rosso
del 2555 40 sarebbe il record con i dettagli Verde e Rosso
 
Ringrazio tutti della pazienza e disponibilità
  Gabriele

 Gabriele
 
La query su Tabella derivata postata sopra funziona come chiedi... adatta i campi ovviamente... e non serviva l'esempio bastava tu provassi.
 
@Alex


Grazie Alex per l'interessamento
Ho provato ma purtroppo a causa della mia scarsa padronanza non riesco ad adattarla.
Mi dispiace molto perché sono diversi giorni che mi do da fare per trovare una soluzione che mi aiuterebbe ad andare avanti.
  Gabriele

> Gabriele
Se i dettagli 1 e 2 ti servono per una semplice periodica loro
visualizzazione (e non per essere automaticamente utilizzati in
altra procedura):
1 - crea una query dalla tabella riportando nello stesso ordine
    tutti i dati
2 - SORT (ASC or DESC) il campo Comp_1
3 - SORT DESC il campo DataCarico
 
Ciascun primo elemento di ciascun gruppo IDPrezzo-Comp_1 porterà
la sua data maggiore con tutti i suoi corrispondenti campi.
 
Bruno


La tua tabella l'ho chiamata Newsgroup
 
SELECT Newsgroup.IDMov, Newsgroup.IDPezzo, Newsgroup.Comp_1, Newsgroup.DataCarico, Newsgroup.Dettaglio_1, Newsgroup.Dettaglio_2 FROM Newsgroup INNER JOIN 
(  SELECT Newsgroup.IDPezzo, Newsgroup.Comp_1, Max(Newsgroup.DataCarico) AS MaxDiDataCarico
FROM Newsgroup GROUP BY Newsgroup.IDPezzo, Newsgroup.Comp_1  ) AS Newsgroup_1 
ON (Newsgroup.Comp_1 = Newsgroup_1.Comp_1) AND (Newsgroup.IDPezzo = Newsgroup_1.IDPezzo) AND (Newsgroup.DataCarico = Newsgroup_1.MaxDiDataCarico) ORDER BY Newsgroup.IDPezzo, Newsgroup.Comp_1
 


E' esattamente quello che mi serviva.
Un sincero ringraziamento a tutti
  Gabriele

 Newsgroup.IDPezzo, Newsgroup.Comp_1
 
Bellissima e semplicissima... complimenti!
 
Bruno