0
我试图建立一个查询,将提供评估另一个查询
- 给在每一个不是由currentUserID书面(现在完成与组线程的最后一条消息布尔类型的超额收益列如果用户启动了一个线程但没有收到响应,那么该线程不应该显示出来(现在通过简单地使用WHERE results.sender_id过滤数据来完成)。 = currentUserID)
- 提供一个布尔列来判断是否发送了响应n这个牙(未完成,但将涉及发现从查询中最后一个元素,看是否该SENDER_ID是=当前登录的用户ID)
http://sqlfiddle.com/#!2/85971/2
简介
- 用户1向用户2发送消息
- 主题ID:1
- 主题:'Hi Subject'
身体:'嗨身体
用户2个响应:
- 线程ID:1
- 身体: '嗨身体效应'
用户1 SQL后应当返回
THREAD_ID |SUBJECT | SENDER_ID | BODY | Responded
1 | Hi Subject | 2 | Hi Body Response | false
由于用户2的SQL应回归
THREAD_ID |SUBJECT | SENDER_ID | BODY | Responded
1 | Hi Subject | 1 | Hi Body | true
请参阅小提琴
我吧射门被其取1和2,但不是3英亩以下,我想招惹工会实现各地这但没有得到。
SELECT * FROM (
SELECT t.id as thread_id, t.subject, m.sender_id, m.body
FROM messages m
JOIN threads t ON (m.thread_id = t.id)
ORDER BY t.id asc, m.cdate desc
) as results
WHERE results.sender_id != currentUserID
GROUP BY results.thread_id;
这是伟大的谢谢你! – user391986 2013-03-18 13:04:48