Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    residenza
    http://www.okkioalprezzo.com/it/
    Messaggi
    206

    [SQL] Raggruppare messaggi

    Salve a tutte ragazzi, per un mio sito web sto un sistema di messaggi con notifiche push. la struttura del database è fatta in questo modo:


    1) id PK
    2) from_user_id (int) ID di chi lo invia
    3) to_user_id (int) ID di chi lo riceve
    4) message (text) corpo del messaggio
    5) date_send (timestamp) l'ora invio messaggio
    6) date_read (timestamp) l'ora di lettura del messaggio da parte di chi lo riceve
    6) status (int) se è stato letto da entrambi

    Supponiamo che ho una strutta struttura del genere nelle tabella

    id | form_user_id | to_user_id | date_send | date_read | status | message
    __________________________________________________ _____________________
    1 | 2 | 3 | 2014-10-01 03:00:00 | ......... | 0 | 0
    2 | 2 | 3 | 2014-10-01 03:03:00 | ......... | 0 | 0
    3 | 3 | 2 | 2014-10-01 03:15:00 | ......... | 0 | 0
    4 | 1 | 4 | 2014-10-01 03:20:00 | ......... | 0 | 0
    5 | 3 | 1 | 2014-10-01 03:25:00 | ......... | 0 | 0
    6 | 2 | 7 | 2014-10-01 03:26:00 | ......... | 0 | 0

    Il mio problema ora è confrontare nella lista dei messaggi se esiste la correlazione degli id di chi lo riceve e di chi lo invia (form_user_id, to_user_id e vice versa) e successivamente estrarre il messaggi più recente
    di ogni singola conversazione.

    Qualcuno di voi riesce ad aiutarmi
    Ultima modifica di felixaf21; 07-10-2014 a 16:05

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    55
    Dovresti fare una query tipo:

    Select A.form_user_id, A.date_send, A.message, B.to_user_id, B.date_read, B.message
    from [tabella] A inner join [tabella] B on A.form_user_id=B.to_user_id order by A.date_send desc

    se vuoi una relazione stretta altrimenti usa left join, per l'ordinamneto lascio a te la scelta

    Questo è quello che ho capito se ho ho capito bene
    ciao

Tag per questa discussione

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.