Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    SELECT TOP che non funziona

    salve a tutti devo selezionare solo 2 record da un database access in cui faccio una inner join. Purtroppo non funziona e mi fa vedere ugualmente tutti i risultati. Qualcuno mi saprebbe dire perché?
    Ecco il codice:

    strSqlSelectOfferte= " SELECT TOP 2 offerta_id,offerta_modello,offerta_descrizione, " & _
    " offerta_dataInizio,offerta_dataFine, " & _
    " marca_logo,marca_nome " & _
    " FROM tblOfferte,tblMarche " & _
    " WHERE offerta_marcaId=marca_id " & _
    " AND offerta_dataFine> '" & strDateNow &"' " & _
    " ORDER BY offerta_dataFine DESC ;

    grazie a chi mi aiuta!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  2. #2
    Ho risolto e posto qui la soluzione per chi non avesse lo stesso problema.

    In poche parole il simpatico access quando ha una serie di campi dallo stesso valore (nel mio caso record in cui la data specificata nella dichiarazione WHERE è la stessa) li elenca tutti anke se si usa una TOP (ovviamente non sapendo quale escludere).
    Non ho idea se c'è un modo per specificare una cosa del genere direttamente in sql (nel senso SE TROVI UGUALE, SELEZIONA SOLO QUESTI) ma mi sembra qualcosa un pò troppo avanzata per access.
    In ogni caso la soluzione è semplice. Si mette un filtro in output che stampa solo i primi N record (nel mio caso 2). Abbiamo un pò d memoria sprecata ma se si distruggono bene tt gli oggetti non dovrebbe essere un decadimento sensibile delle prestazioni.

    In ogni caso W MYSQL e il suo LIMIT :P
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    il simpatico si comporta correttamente. se tu arrivassi terzo in una competizione, e si dovessero citare i primi tre, ti piacerebbe venire escluso a favore di un altro che e' arrivato terzo assieme a te?

  4. #4
    [offtopic] mi impegnerei ad arrivare primo allora :P[/offtopic]

    scherzi a parte esiste un metodo per definire un'altra condizione in caso di conflitto in modo da escludere i record in +?
    Io finora selezionavo solo le chiavi primarie e allora non mi si era mai presentato il problema.
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  5. #5
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    con una distinct?
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  6. #6
    non va bene perché i record non sono COMPLETAMENTE uguali ma hanno uguale solo il campo della clausola where!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  7. #7
    devi fare la TOP 3 di una TOP 3. in quella esterna usi un ordinamento sull'id

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.