Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    18

    Union di due query con order by differenti

    Ho un problema con queste due query :


    select * from tb_calendario where id1 = 1 ORDER BY punteggio1 DESC;


    select * from tb_calendario where id2 = 1 ORDER BY punteggio2 DESC;


    Ho la necessità di unire queste due query in modo che mi restituiscano i primi 5 record ordinati per (punteggio1 o punteggio2) DESC.


    Grazie a chi mi aiuterà.

  2. #2
    SELECT * FROM (select * from tb_calendario where id1 = 1 ORDER BY punteggio1 DESC) T1
    UNION
    SELECT * FROM (select * from tb_calendario where id2 = 1 ORDER BY punteggio2 DESC) T2

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    18
    Quote Originariamente inviata da optime Visualizza il messaggio
    SELECT * FROM (select * from tb_calendario where id1 = 1 ORDER BY punteggio1 DESC) T1
    UNION
    SELECT * FROM (select * from tb_calendario where id2 = 1 ORDER BY punteggio2 DESC) T2
    Grazie tante, ma non ottengo il risultato voluto.
    Ho dei record ordinati prima per punteggio1 e poi per punteggio2.
    In realtà vorrei ottenere un mix delle due query ordinandole per entrambi i punteggi, in questo modo :

    id1 id2 punteggio1 punteggio2
    1 4 93 78
    3 1 94 89
    5 1 67 83
    1 7 78 85
    1 6 73 87

    Ho messo in neretto l'ordine che mi interessa.

  4. #4
    riordina ulteriormente la tabella ottenuta

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    18
    È proprio quello il problema !

  6. #6
    perché non fai qualche prova?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    18
    Ne ho fatte tante, ma dai risultati ottenuti riesco ad ordinare o per punteggio1 o punteggio2.

  8. #8
    codice:
    SELECT * FROM (
      select id1 AS ID, punteggio1 as Punteggio from tb_calendario where id1 = 1
      UNION
      SELECT id2 AS ID, punteggio2 as punteggio FROM tb_calendario where id2 = 1
    ) TX
    ORDER BY punteggio DESC

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2005
    Messaggi
    18
    Perfetto ! Ora ho capito come fare. Grazie ancora !!!!

  10. #10

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.