首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不使用Group的情况下对两个字段分组?

如何在不使用Group的情况下对两个字段分组?
EN

Stack Overflow用户
提问于 2014-06-19 00:23:39
回答 1查看 20关注 0票数 0

我有一个消息表,其中包含来自工作组id和工作组id的消息、线程。当from_wg_id为null时,我知道消息来自学生。当它不是null时,我知道消息是来自工作组中的雇员消息。当to_wg_id为null时,我知道消息是对学生的回复,而当from_wg_id不是null,to_wg_id不是null时,我知道消息是从一个雇员到另一个雇员的转发。这是我面临的挑战:我希望看到每个线程中的所有工作组(为了简单起见,这里只显示一个工作组: 19407),其中既包括,也包括对学生的答复,以及向其他员工转发的。我该怎么做?我试过了group,但是我一直在输出CESADM,因为只有一个回复,所以我不想显示这一点。

资料来源: Message_log

代码语言:javascript
运行
复制
Message_ID  Thread_ID   FROM_WG_ID  TO_WG_ID
1           19407       CESADM      NULL
2           19407       NULL        SCHOLAR     
3           19407       NULL        SCHOLAR     
4           19407       SCHOLAR     NULL
5           19407       SCHOLAR     CESADM

期望输出表: Message_log

代码语言:javascript
运行
复制
Thread_ID   FROM_WG_ID      
19407       SCHOLAR         

如何编写将生成所需输出表的查询?(输出此结果的原因是that是线程19407中唯一具有转发的(应答消息)的工作组)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-19 14:07:04

您可以使用EXISTS查看是否找到向其他员工转发的a:

代码语言:javascript
运行
复制
SELECT 
    Thread_ID,
    TO_WG_ID 
FROM Messages M1
WHERE FROM_WG_ID IS NULL
AND EXISTS(
   SELECT NULL FROM Messages M2
   WHERE M2.Thread_ID = M1.Thread_ID
     AND M2.FROM_WG_ID = M1.TO_WG_ID  
     AND TO_WG_ID IS NOT NULL)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24297001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档