繁体   English   中英

SQL按跨列分组

[英]SQL Group by across columns

我有一个简单的消息传递系统,该消息现在应按主题分组。 因此表如下所示:

   id  | sender | recipient | subject
------------------------------------
    1  |    16  |     17    |  Hello   
    2  |    17  |     16    |  Hello   
    3  |    12  |     16    |  Hello   

“发件人”和“收件人”是用户表中的ID。

因此,用户将看到按主题分组的消息,而按GROUP BY可能很容易。

问题在于,邮件也被分组,具有相同的主题,但其他发件人和收件人。 如果发件人和收件人相同,是否可以对消息进行分组? 在示例中,消息1和2应该分组,而不是3。因此,我需要在2列中分组。

也许...我不确定我是否完全理解这个问题。

Select A.ID, A.Sender, A.Recipient, A.Subject
FROM tableName A
LEFT JOIN tableName B
  on A.Sender=B.Recipient 
 AND A.Subject=B.Subject
Where Sender.ID = USERLOGGEDIN OR B.Recipient = USERLOGGEDIN
ORDER By Subject, ID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM