J'ai deux tables: messages (messages utilisateurs affichés), aime (beaucoup à beaucoup de relations entre les utilisateurs et les messages - il dit que user1 aime message5).SQL - Ordre par colonne à partir de deux tables
messages
---------
id, id_user, message, created_at
likes
-----
id_user, id_message, created_at
Si j'envoie un message, il va à la table des messages. Si j'aime le message de quelqu'un, un nouvel enregistrement sera créé dans la table des likes (is_user = me, id_message = message que j'aime).
Le problème est, je voudrais montrer l'histoire de mes actions = messages et aime ensemble dans une liste commandé par "created_at".
Quelque chose comme:
- 1/1/2010 i sent message "aaa"
- 2/1/2010 i sent message "bbb"
- 3/1/2010 i liked somebodys's message "ccc"
- 4/1/2010 i send message "ddd"
EDIT Et en plus, je veux aussi des informations sur l'état que j'ai aimé:
- 3/1/2010 i liked somebodys's message **"ccc"**
Comment faire cela?
Merci Mark. Je n'ai pas besoin de toutes les chaînes, c'est la responsabilité de l'application. J'ai juste besoin du texte du message que j'ai aimé et qui pourrait être fait très facilement en utilisant des jointures. – PetrB
J'ai décidé d'aller de l'avant en créant la nouvelle table 'actions' mais je suis coincé avec le schéma de base de données. Pour le moment, la table des actions a des colonnes action_id, created_at, discriminator. Quoi d'autre dois-je mettre là et comment l'interroger? – PetrB
@PetrB: Cela semble être un bon début. Vous n'avez pas besoin de dupliquer les données des autres tables de cette table. –