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

    [MySQL]query su + tabelle

    Ciao a tutti.
    Ho due tabelle:
    utenti
    pm

    la tabella utenti ha vari campi tra cui "id" e "username".
    mentre nella tabella pm ho altri campi, quello che ci interessa è: "id_user".

    Ora con una query dovrei prendere una determinata riga della tabella pm + il campo username della tabella utenti la cui riga ha come indice "id_user" della tabella pm.

    Spero di non essere stato tropo contorto.

    ah cmq avevo già provato con qualcosa del genere:
    Codice PHP:
    SELECT FROM pm LEFT JOIN utenti ON utenti.id=pm.id_user ORDER BY pm.data DESC 
    ringrazio in anticipo per l'aiuto

  2. #2
    ti sei scordato di dire quale problema riscontri. La query e corretta, e' forse l'ordinamento ce non va?

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

  3. #3
    non va proprio,
    cmq ho provato con quetsa e sembra funzionare:

    Codice PHP:
    SELECT pm.idpm.titolopm.dapm.datautenti.user FROM pm
    LEFT JOIN utenti ON utenti
    .id pm.da
    ORDER BY pm
    .data DESC
    LIMIT 0 
    30 
    però ora ho una curiosità:
    io nella tabella pm ho due campi: "da"(mittente) e "per"(destinatario) che contengono entrambi l'id dell'utente corrispondente nella tabella "uetnti".
    Ora come potrei fare a modificare quella query in modo da ottenere invece dell'id il campo "user" della tabella utenti?
    grazie mille

  4. #4
    non capisco la tua richiesta...

    Nel select gia' dichiari il campo da estrarre utenti.user quindi lo hai nel result set.

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

  5. #5
    allora, sia il mittente che il destinatario son due utenti, e come tali si trovano nella tabella utenti.
    Ora taranne il caso di uno che si scrive da solo il mittente e il destinatario saranno utenti diversi.
    Ad ogni utente è associato un id nella tabella utenti.
    Ora io, nella tabella pm, ho solo id del mittente e id del destinatario (e non gli username estesi, ovviamente gli id corrispondenti della tabella utenti). La query postata prima mi estrare solo l'username del mittente e non quello del destinatario.
    Mi incuriosiva capire come estrarli tutti e due anche se appartengono alla stessa colonna ma a righe diverse:

    es

    tabella utenti
    id|username|ecc...
    3 |pinco
    7 |pallino

    tabella pm
    id|da|per|ecc...
    1 |7 |3

    Come puoi vedere c'è un mess spedito dall'utente 7 (pallino) all'utente (pinco)
    come puoivedere entrambi sono pm.user però appertengono a righe diverse della tabelal utenti.
    come si pernderanno tutti e due? magari non si può boh..
    fatemi sapere
    ciaaao e grazie

  6. #6
    uniscili due volte....
    codice:
    SELECT pm.id, pm.titolo, pm.data, u1.user as da1, u2.user as per1
    FROM pm
    LEFT JOIN utenti u1 ON u1.id = pm.da
    LEFT JOIN utenti u2 ON u2.id = pm.per
    ORDER BY pm.data DESC
    LIMIT 0 , 30

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

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