Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481

    come scrivere una query senza subquery

    Come ormai sapete tutti le subquery sono implementate dalla 4.1 di MySQL, ma x i poveretti come me ke non possono avere la 4.1 sul server web ho letto nel manuale che tramite dei Join spesso è possibile riscrivere le query che usano delle subquery, solo che tra gli esempi non c'è nulla che faccia al caso mio e non riesco a trovare una soluzione alternativa.

    Posto la query

    SELECT a.nome, b.nome
    FROM dipendenti as a, dipendenti as b
    WHERE a.stipendio<(SELECT MIN(*) FROM dipendenti WHERE b.stipendio>a.stipendio);

    il concetto è, voglio selezionare tutte coppie di dipendenti, in cui ogni coppia sia composta da un dipendente e quello che guadagna appena poco più di lui. Come posso scrivere una cosa del genere senza subquery??

  2. #2
    Utente di HTML.it L'avatar di flessciato
    Registrato dal
    Jun 2002
    Messaggi
    1,522
    Slack 10 - Apple G5 2.5 - winzoz xp
    php/mysql/apache
    Flash MX / roba in 3D / roba per il video e l'audio

  3. #3
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    questa non è una struttura gerarchica, è solo un insieme di persone che io voglio selezionare a coppia, e non posso fare affidamento sulla sequenzialità degli ID

  4. #4
    [supersaibal]Originariamente inviato da james
    questa non è una struttura gerarchica, è solo un insieme di persone che io voglio selezionare a coppia, e non posso fare affidamento sulla sequenzialità degli ID [/supersaibal]
    prova ... con tutte le riserve perche' non e' provato...
    codice:
    SELECT * FROM dipendenti a
    left join dipendenti b on a.stipendio < b.stipendio
    group by a.nome
    Attento slla selezione, io ho messo select * ma tu dovrai elencare i campi con relativo alias, altrimenti avendo lo stesso nome di campo, il primo estratto verrebbe sovrascritto...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    [supersaibal]Originariamente inviato da piero.mac
    prova ... con tutte le riserve perche' non e' provato...
    codice:
    SELECT * FROM dipendenti a
    left join dipendenti b on a.stipendio < b.stipendio
    group by a.nome
    Attento slla selezione, io ho messo select * ma tu dovrai elencare i campi con relativo alias, altrimenti avendo lo stesso nome di campo, il primo estratto verrebbe sovrascritto...

    [/supersaibal]
    Questo metodo sembra funzionare, c'è solo una cosa che devo risolvere. Mitico, ma come cavolo hai fatto??Io avevo fatto dei tentativi ma non riuscivo a mettere per iscritto una query corretta!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.