Query che visualizza gli ultimi abbonamenti raggruppati per nome corso

di Anonimizzato21367 il
8 risposte
Ho una tabella che contiene questi dati....

ID
NomeSocio
Corso
DataInizio
Scadenza

ove vengono inseriti per ogni socio i vari abbonamenti effettuati ai singoli corsi che possono avere durata mensile, trimestrale etc....
ora vorrei creare una quey che mi compila una listbox ove ho elencato solo l'ultimo abbonamento in scadenza per ogni corso presente nella tabella abbonamenti....

ho provato a creare una queri di raggruppamento ma con pessimi risultati....

chiedo aiuto

grazie mille

8 Risposte

  • Emadragon ha scritto:


    ID
    NomeSocio
    Corso
    DataInizio
    Scadenza
    Come si chiama questa tabella?
    Hai anche le tabelle Soci e Corsi? Sono relazionate uno-a-molti con "questa tabella"?
  • La tabella si chiama tbAbbonamento e non è relazionata
  • DOvresti indicare la tua query, anche se sbagliata, poi noi si vede di correggerla.
  • Emadragon ha scritto:


    Ho una tabella che contiene questi dati....
    ID
    NomeSocio
    Corso
    DataInizio
    Scadenza

    Emadragon ha scritto:


    La tabella si chiama tbAbbonamento e non è relazionata

    gibra ha scritto:


    Dovresti indicare la tua query, anche se sbagliata, poi noi si vede di correggerla.
    Eppure io sono sempre dell'idea che quando si ha il quadro completo corretto (normalizzato), si riescono a vedere problemi e soluzioni da tutt'altra angolazione.
  • SELECT tbAbbonamento.[IDUnico], tbAbbonamento.[IDCorso], tbAbbonamento.[IDAbbonamento], tbAbbonamento.[Scadenza]
    FROM tbAbbonamento
    WHERE (((tbAbbonamento.[IDUnico]) In (SELECT [IDUnico] FROM [tbAbbonamento] As Tmp GROUP BY [IDUnico],[IDCorso] HAVING Count(*)>1 And [IDCorso] = [tbAbbonamento].[IDCorso])))
    ORDER BY tbAbbonamento.[IDUnico], tbAbbonamento.[IDCorso];
  • Query in cui i campi sono completamente differenti da quelli che hai elencato.

    Ottimo!!!
  • IDUNICO vi è il codice che identifica il socio
    IDCorso identifica il corso a cui appartiene il socio
    IDAbbonamento (id univoco dell'abbonamento)
    Scadenza data di scadenza dell'abboanmento
  • Penso di aver risolto

    SELECT tbabbonamento.IDUnico, tbabbonamento.IDCorso, tbCorsi.NCorso, First(tbabbonamento.Scadenza) AS PrimoDiScadenza
    FROM tbabbonamento INNER JOIN tbCorsi ON tbabbonamento.IDCorso = tbCorsi.IDCorso
    GROUP BY tbabbonamento.IDUnico, tbabbonamento.IDCorso, tbCorsi.NCorso
    ORDER BY First(tbabbonamento.Scadenza) DESC;
Devi accedere o registrarti per scrivere nel forum
8 risposte