我有一个基本的消息系统设置,我使用相同的查询来显示发送和接收的消息。它工作得很好,但我需要为 exp 和 dest 获取 fbook 字段。我想创建两个查询,如果用户发送了他正在查看的消息,则使用一个,如果消息已收到,则使用另一个查询,但也许有更好的方法。
+-----+------+------+----------+----------------+---------------------+------+
| id | exp | dest | message | msg_title | timestamp | view |
+-----+------+------+----------+----------------+---------------------+------+
| 114 | 243 | 245 | From 243 | Message to 245 | 2012-04-04 09:26:52 | 0 |
+-----+------+------+----------+----------------+---------------------+------+
询问
SELECT a.*, b.fbook FROM messages a
JOIN users b ON a.exp=b.id
WHERE a.id = 114;
用户表
+------------------------+--------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+--------------+------+-----+---------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(50) | NO | | NULL | |
| fbook | bigint(64) | YES | | NULL | |
+------------------------+--------------+------+-----+---------------------+----------------+