Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    100

    Query SQL piuttosto facile ma...

    Come da titolo...sembra facile, ma dato che non sono bravissimo, non riesco a uscirmene!

    Data una tabella con nome, cognome, lavoro, salario
    vorrei farmi ritornare i nomi,cognomi e lavoro dei dipendendi(scritti una sola volta a persona) con il salario più elevato(in modo da identificare il lavoro migliore che hanno avuto).

    Avevo pensato a:
    select nome,cognome,lavoro,max(salario)
    from tabella

    ma ovviamente mi tira fuori il nome solo del dpiendente che guadagna di piu di tutti...

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Innanzitutto devi fare una vista che
    Raggruppa per nome e cognome
    estrae il maxSalario ( per ogni individuo )

    ___________________________

    Poi metti in Join la tabella con la vista

    estrai dalla tabella
    nome cognome lavoro salario

    Join
    nome =nome
    cognome=cognome
    salario=maxSalario ( quest'ultimo join non fondamentale )



    __________________________________________________ _


    Poi nidifichi le 2 viste una nell'altra ( se vuoi )

    Piu o meno viene cosi in funzione del DB che usi


    codice:
    SELECT 
    Tab.Nome, 
    Tab.Cognome, 
    Tab.lavoro, 
    Tab.salario
    FROM 
    Tab 
    INNER JOIN 
    (
    SELECT Tab.Nome, 
    Tab.Cognome, 
    Max(Tab.salario) AS MS
    FROM 
    Tab
    GROUP BY 
    Tab.Nome, 
    Tab.Cognome
    ) AS Q1
    ON 
    (Tab.salario = Q1.MS) 
    AND 
    (Tab.Cognome = Q1.Cognome) 
    AND 
    (Tab.Nome = Q1.Nome)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    100
    Perfetto, grazie mille funziona

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: Query SQL piuttosto facile ma...

    Originariamente inviato da antony85
    Data una tabella con nome, cognome, lavoro, salario
    vorrei farmi ritornare i nomi,cognomi e lavoro dei dipendendi(scritti una sola volta a persona) con il salario più elevato(in modo da identificare il lavoro migliore che hanno avuto).
    Hai provato così?

    codice:
    SELECT nome,cognome,lavoro,max(salario)
    FROM tabella
    GROUP BY nome,cognome,lavoro
    ORDER BY max(salario) DESC

  5. #5
    gibra, i lavori possono essere diversi, quella query non funziona

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da optime
    gibra, i lavori possono essere diversi, quella query non funziona
    Hai ragione, ho letto male.


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.