Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    207

    [Sql Server Management Studio] Query SQL MAX

    Ciao a tutti
    Sto preparando una semplice query sql

    SELECT MAX(COSTO) FROM Lista WHERE Categoria="prova"

    e funziona. Se provo ad inserire

    SELECT MAX(COSTO),Id_Prodotto FROM Lista WHERE Categoria="prova"

    sqlServer mi dice:

    La colonna .....Id_Prodotto non è valida nell'elenco di selezione perché non è inclusa né in una funzione di aggregazione né nella clausola GROUP BY.

    Voglio semplicemente ricavare l'id del costo max... come posso fare??

  2. #2
    la più immediata

    SELECT Id_Prodotto
    FROM Lista
    WHERE COSTO=(SELECT MAX(COSTO) FROM Lista WHERE Categoria="prova")


    ovviamente potresti ottenere più di un id


    oppure

    SELECT TOP 1 * FROM LISTA WHERE Categoria="prova" ORDER BY COSTO DESC

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    207
    Ok , il problema nel caso è che non riesco ad ottenere entrambi, ma solo il costo.
    Io vorrei come risposta di una singola query

    MAX (COSTO) , ID_Prodotto

  4. #4
    un po' di intraprendenza no, eh?

    SELECT Costo, Id_Prodotto
    FROM Lista
    WHERE COSTO=(SELECT MAX(COSTO) FROM Lista WHERE Categoria="prova")

    oppure

    SELECT TOP 1 Costo, Id_Prodotto
    FROM LISTA WHERE Categoria="prova" ORDER BY COSTO DESC

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    207
    Cavoli ho provato più volte focalizzandomi sul MAX nel primo SELECT...
    Grazie, mi hai dato un ottimo spunto

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.