【发布时间】:2012-03-22 05:00:54
【问题描述】:
我有一个简单的消息传递模式,其中每条消息都有一个 senderFK 和一个 recipientFK,每个都映射到一个用户记录。对于当前用户,我需要获取所有不同的线程。一个不同的线程是发送或接收消息的用户的 senderFK 或接收者FK。
所以,例如:
此查询获取向当前用户发送消息的所有用户:
SELECT DISTINCT senderFK AS threadID FROM Messages
WHERE recipientFK = 'usr_developer'
这个查询获取所有收到当前用户消息的用户:
SELECT DISTINCT recipientFK AS threadID FROM Messages
WHERE senderFK = 'usr_developer'
如何将这些查询组合到一个表中,该表中每个用户都有一个不同的行和一个列 (threadID)?
【问题讨论】:
-
如果 Michael 的 UNION 不是您想要的,您能否展示几行您想要的示例?如果是正确的结果,请接受。当您执行 UNION 时,所有列(本例中为一列)中的值重复的任何行仅在输出中出现一次。听起来这就是你想要的。