Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355

    query credo con subquery?

    Buongiorno a tutti.

    Stamattina tanto per cambiare ho un problema con una query sql.

    ho questo DB

    giorno___nome___valore___accetta
    _1______maria____81_______si___
    _1______giusy____81_______no__
    _2______alex_____80_______si___
    _2______tony____80_______no___
    _2______berta____80_______no___


    dovrei estrarre il "valore + alto" tra quelli in cui il giorno risulta essere il + alto ed in cui la voce accetta è impostata su si.

    qualcuno può darmi una mano a venirne fuori?

    io ci sto provando ma non ottengo ciò che voglio.

    grazie

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    SELECT MAX(valore) AS piualto FROM tabella
    WHERE accetta = 'si'
    ORDER BY giorno DESC

    Roby

  3. #3
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355
    Ragazzi chiedo scusa se non ho inserito in nome della tabella nel msg precedente comunque....

    se a qualcuno potesse mai interessare in un futuro, ho risolto così:

    SELECT nome, giorno, valore, accetta FROM Miglior_Valore WHERE (((giorno)=(SELECT distinct Max([Miglior_Valore]![giorno]) FROM Miglior_Valore) AND ((accetta)=True));

    buon lavoro a tutti

  4. #4
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355
    Grazie Roby per l'aiuto ho provato come mi suggerivi ma ricevo il messaggio

    "impossibile eseguire una query che non includel'espressione "giorno" specificata come parte di una funzione di aggregazione"

  5. #5
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355
    rieccomi qui.

    Mentre testavo il lavoro di oggi, mi sono accorto di un inconveniente.
    la query che ho impostato in precedenza da problemi nel caso di valori uguali.

    Sto riprovando ad usare quella del grande Roby.

    In effetti la sua mi estrae il valore correttamente più alto ma come posso fare per far si che mi estragga anche il nome di chi lo ha realizzato ed il valore nella colonna giorno?

  6. #6
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355
    Ragazzi sono arrivato a questa soluzione che necessita di qualche piccola correzione (credo ) per quanto concerne una istruzione che non ho mai utilizzato EXISTS

    mi aiutate a venirne fuori?

    SELECT giorno, nome, valore, accetta FROM Miglior_Valore WHERE (((giorno)=(SELECT Max([giorno]), Max([valore]) FROM Miglior_Valore WHERE (((accetta)=True)); )) AND ((accetta)=True));

    grazieeeeeeeeeeeeee

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    SELECT MAX(valore) AS piualto, nome FROM tabella
    WHERE accetta = 'si'
    GROUP BY nome
    ORDER BY giorno DESC

    Roby

  8. #8
    Utente di HTML.it L'avatar di Yuppies
    Registrato dal
    Apr 2007
    Messaggi
    355
    Grazie Roby per i tuoi mitici interventi sei veramente un (grande).

    Allora ho modificato la query come segue:

    SELECT Max(Punteggio) AS piualto, nome, giorno, accetta
    FROM Miglior_Valore
    WHERE (((accetta)=True))
    GROUP BY nome, giorno, accetta
    ORDER BY Max(valore) DESC , giorno DESC;

    considerando questi nuovi valori in tabella

    giorno___nome___valore___accetta
    _1______maria____80_______si___
    _1______giusy____81_______no__
    _2______alex_____82_______si___
    _3______tony____82_______si___
    _3______berta____82_______si___

    la query mi estrae questo

    _3______tony____82_______si___
    _3______berta____82_______si___
    _2______alex_____82_______si___
    _1______maria____80_______si___

    quello che ti chiedo è:

    Non c'è un metodo per far si che la query estragga solo i primi 2 record (ovvero quelli che in questo caso hanno il valore di giorno + alto?)

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.