query su due tabelle e dati doppioni

  • Creatore Discussione Creatore Discussione max75
  • Data di inizio Data di inizio

max75

Nuovo Utente
16 Gen 2024
5
0
1
Buongiorno a tutti e buon martedì!

Sono fermo nella costruzione di un db Access per un piccolo problema legato ad una query.
Il codice è questo:
Codice:
SELECT tbl_personaggio.[nome e cognome], tbl_programmazione.data
FROM tbl_personaggio LEFT JOIN tbl_programmazione ON tbl_personaggio.[nome e cognome] = tbl_programmazione.presidente
WHERE (((tbl_personaggio.Presidente)=True) AND ((tbl_personaggio.attivo)=False))
ORDER BY tbl_programmazione.data;
In pratica è basata su due tabelle (personaggio e programmazione) e mi restituisce il nome e cognome di una e la data di un altra. La query popola una casella combinata di 2 colonne con nome e cognome in una e la data nell'altra. Mi serve per vedere una lista di persone che hanno fatto una certa attività con accanto la data in cui l'hanno fatta (la data ordinata in senso crescente per permettermi di scegliere la meno recente).
Le immagini rendono il risultato (vedi file immagine 1 e 2)
Quello che vorrei evitare è avere duplicati nei nomi ma ottenere solo i nomi univoci della relativa data più recente. Ho provato questo, in pratica aggiungendo "DISTINCT", ma funziona solo se SELECT punta alla stessa tabella e non a due diverse, quindi il campo data mi sparisce (immagine 3).
Codice:
SELECT DISTINCT tbl_personaggio.[nome e cognome], tbl_programmazione.data
FROM tbl_personaggio LEFT JOIN tbl_programmazione ON tbl_personaggio.[nome e cognome] = tbl_programmazione.presidente
WHERE (((tbl_personaggio.Presidente)=True) AND ((tbl_personaggio.attivo)=False))
ORDER BY tbl_programmazione.data;
Qui mi sono fermato perché non riesco a capire come poter risolvere l'inghippo.
Qualsiasi vostro suggerimento è ben accetto!!!
Grazie mille in anticipo
:(:(:(
 

Allegati

  • Screenshot 2024-01-14 160149.png
    Screenshot 2024-01-14 160149.png
    33,3 KB · Visite: 59
  • Screenshot 2024-01-14 160844.png
    Screenshot 2024-01-14 160844.png
    39,4 KB · Visite: 65
  • Screenshot 2024-01-14 162209.png
    Screenshot 2024-01-14 162209.png
    9,5 KB · Visite: 57
Quello che vorrei evitare è avere duplicati nei nomi ma ottenere solo i nomi univoci della relativa data più recente
premesso che i valori mi sembrano tutti presenti sulla tabella tbl_programmazione,

potresti agire sulla sola tabella tbl_programmazione con MAX(data) e GROUP BY ....

come seconda soluzione puoi fare una select distinct sulla tabella tbl_personaggio seguita da una select per estrarre la data MAX con la clausola where in modo da legare le due tabelle

altre soluzioni più complesse le ometto
 
premesso che i valori mi sembrano tutti presenti sulla tabella tbl_programmazione,
In questa tabella gli stessi nomi si possono ritrovare più volte ecco perché punto ad un confronto con quella "personaggio" dove sono univoci. Comunque ho fatto come hai detto tu per combinazione già ieri, attivando i totali nella struttura query e usando MAX nel campo data della. In questo modo mi restituisce la data massima (quella più recente) al quale può essere associato solo un nome. Grazie comunque della tua risposta e del suggerimento!
 

Discussioni simili