Visualizzazione dei risultati da 1 a 8 su 8

Discussione: MySQL: ORDER BY

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274

    MySQL: ORDER BY

    Salve, ho questa query:

    $mysql->query("SELECT friends.id AS `id`, friends.user AS `user`, friends.friend AS `friend` FROM `friends` LEFT JOIN `users` ON friends.friend = users.username WHERE friends.user='$my_user' ORDER BY users.username");

    vorrei fare un ordinamento alfabetico su users.username, il problema è che non prendo direttamente quei dati, uso una LEFT JOIN, in pratica non mi ordina niente.
    qualcuno ha idea di come modificare questa query per fare l'ordinamento?
    Progeny

  2. #2
    Prova così:

    $mysql->query("SELECT friends.id AS `id`, friends.user AS `user`, friends.friend AS `friend` FROM `friends` LEFT JOIN `users` ON friends.friend = users.username WHERE friends.user='$my_user' ORDER BY `friends`");


    Ciao!

    PS
    Non so se funzionerà! L'ho buttata lì!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    se non ordina niente probabilmente il campo che vuoi ordinare ha sempre il solito valore

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274
    quel campo contiene valori diversi.
    friends.id AS `id`, friends.user AS `user`, friends.friend AS `friend`
    questi campi sono tutti ID, l'username me lo ricavo con quella left join, però avrei bisogno di fare un ordinamento
    Progeny

  5. #5
    Ma hai provato come ti ho detto io?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274
    non c'è nè bisogno, "friends" non esiste ne come campo ne come alias di qualcosa, se ti riferivi all'alias `friend`, beh, contiene solo un ID (un numero), quindi si avrebbe ordinamento in base a numeri crescenti.. non in base all'username..

    qualcuno ha idee?
    Progeny

  7. #7
    Nella query tu scrivi questo

    friends.friend AS `friend`

    quindi l'alias esiste.
    Poi esegui la join.

    Eseguendo la join ed ordinando per l'alias dovrebbe funzionare. Se poi mi dici che hai provato e non ha funzionato allora è un altro conto!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    274
    $mysql->query("SELECT friends.id AS `id`, friends.user AS `user`, friends.friend AS `friend` FROM `friends` LEFT JOIN `users` ON friends.friend = users.id WHERE friends.user='$my_user' ORDER BY users.username");


    funziona così, sono da picchiare nella left join ho preso una svista, friends.friend = users.username avevo fatto -.-
    Progeny

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.