Ciao a tutti, saapete se è possibile ordinare una query in base ai riscontri che trova su una seconda tabella?
Vi faccio un esempio
Tab 1
id
1
2
3
Tab 2
id id_tab1
1 3
2 2
3 3
In questo caso l'ordine dovrebbe essere 3 2 1
Si può fare?
Ciao a tutti, saapete se è possibile ordinare una query in base ai riscontri che trova su una seconda tabella?
Vi faccio un esempio
Tab 1
id
1
2
3
Tab 2
id id_tab1
1 3
2 2
3 3
In questo caso l'ordine dovrebbe essere 3 2 1
Si può fare?
Aggiungi la clausola a fine query ORDER BY campo DESC
Ovviamente al posto di campo, metti il nome del campo per il quale devi fare l'ordinamento.
Avevo già fatto un esempio ma forse è stato poco chiaro.
Io ho una tabella che contiene dei post
Tab 1
id
1
2
3
4
5
Gli utente possono creare delle relazione tra i post (nel senso, l'articolo 1 è collegato all'articolo 3 perchè parlano della stessa cosa...) queste relazione vegono inserite nella tabella 2
Tab 2
id id_articolo id_articolo_collegato
1 1 2
2 1 3
3 1 2
4 2 4
5 3 4
Da questa tabella io capisco che due persone pensano che il post 1 sia collegato al post 2 e una al post 3.
Vorrei quindi creare una query che mi restituisca tutti i post collegati al post che sto visualizzando in ordine decrescent
In questo caso dato il post 1 l'ordine sarebbe 2345
Per ordinare, puoi farlo SOLO ed esclusivamente con la clausola ORDER BY, c'è poco da fare ed il mio esempio è giusto, ma sicuramente hai scritto male la query:
sostituisci tab# con il nome della tabella e campo col campo per il quale vuoi fare l'ordinamento. Se fai l'esempio con dei nomi, poi la query con degli altri, non possiamo aiutarti dato che non abbiamo la struttura della tabella precisa e quello che vorresti fare.Codice:'SELECT tab1.id FROM tab1 INNER JOIN tab2 ON (tab1.id = tab2.id_portali) WHERE tab1.id != ' . (int) $id . ' LIMIT 4 ORDER BY tab#.campo DESC'
Ultima modifica di biccheddu : 07-12-2011 alle ore 23.31.47