Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Ordinare correttamente una JOIN query

    Salve a tutti,
    ho un problema di ordinamento di una super JOIN che non riesco ad ordinare come voglio per gli album dei miei utenti.

    Allora, la situazione è questa, ho 3 tabelle fatte più o meno cosi:

    1. Tabella utenti.
    2. Tabella album.
    3. Tabella amici.

    Ora, dovrei fare una JOIN per ordinare gli utenti che hanno creato un nuovo album, considerando che gli utenti possono creare più album.

    Quindi ho fatto cosi (semplificata):

    codice:
    SELECT * FROM utenti 
    JOIN album ON id = id_utente
    LEFT JOIN amici ON id = id_friend
    WHERE album.foto > 5 AND status = 1
    GROUP BY id_utente
    ORDER BY album.data DESC, amici DESC LIMIT
    Questa query mi da 2 problemi:
    1) Fa un ordinamento per album.data considerando il primo degli album che un utente singolo ha creato. Quindi se io ne ho creato uno 20 giorni fa e uno oggi, lui mi conterà sempre il primo senza quindi mai apparire come nuovo.

    2) Il risultato dei miei amici viene moltiplicato per quanti album l'utente ha creato. Quindi se ho 100 amici e 3 album, a video mi da 300!

    C'è un modo per risolvere secondo voi???

    Sto provando tutti gli incastri ma senza riuscirvi
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    per il 2) è il left join, per l'1)... non ho capito cosa ti turba.
    posta un dump delle tabelle con un po' di righe e cosa vuoi ottenere

  3. #3
    Originariamente inviato da franzauker
    per il 2) è il left join, per l'1)... non ho capito cosa ti turba.
    posta un dump delle tabelle con un po' di righe e cosa vuoi ottenere
    Il 2 è risolvibile???

    1) Vorrei semplicemente ordinare un query per album più recenti.

    Le tbl sono principalmente cosi:

    # UTENTI
    id | nick | email

    # ALBUM
    idutente | nomealbum | data

    # AMICI
    idutente | idamico


    Ora, avendo questo quadro, devo fare in modo di visualizzare gli utenti ordinandoli per ALBUM creati più di recente, e portarmi dietro, se possibile, il totale degli amici nella tabella AMICI.


    E' un casino???
    Perchè uso Maxthon? | Mi piace questa chat

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    non mi è chiarissimo se vuoi una lista , per ogni utente, che riporti
    l'ultimo album e quanti amici ha

  5. #5
    Si,
    vorrei riuscire a fare una lista degli utenti ordinati con la data più aggiornata del proprio album.

    Quindi:

    Lista:
    Giovanni | 10-10-2011
    Paolo | 09-10-2011
    Francesco | 07-10-2011

    Il problema è che quando nella tabella album ho questa situazione....
    # idalbum | nick | dataalbum
    4 | Giovanni | 10-10-2011
    3 | Francesco | 09-10-2011
    2 | Paolo | 09-10-2011
    1 | Francesco | 07-10-2011

    Dell'utente Francesco lui mi prende sempre il primo creato, quindi nella JOIN me lo ritrovo in fondo alla lista.

    Spero di essere riuscito ad essere più chiaro.... grazie mille!
    Perchè uso Maxthon? | Mi piace questa chat

  6. #6
    E' impossibile da fare???
    Perchè uso Maxthon? | Mi piace questa chat

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