首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对Server 2008中的任意一列在两列中使用group by?

如何对Server 2008中的任意一列在两列中使用group by?
EN

Stack Overflow用户
提问于 2018-06-12 08:41:34
回答 1查看 15关注 0票数 0

我有一个表T1,它有3列bpm_nowinameentrytime。每个bpm_no在特定的winame (阶段)打开,并且winame可能是不同的,也可能是相同的(重复)。并在entrytime列中捕获了它的开启时间。我有另一个查找表T2,其中一个bpm_no将显示bpm_no当前存在的特定winame

其思想是使用这两个表提取一个数据,以生成最终的表,其中它将显示bpm_no、其当前的winame和将是最小值的winame条目日期。请参考下面的例子

查找表T2:

代码语言:javascript
复制
+---------------------+------------------+
|      bpm_no         |     winame       |
+---------------------+------------------+
|      abc_0011       |      rm          |
|     lmn_0012        |      archive     |
|      xyz_0013       |      lmn         |

表T1:

代码语言:javascript
复制
+---------------------+------------------+------------------+
|      bpm_no         |     winame       |   entrytime      |
+---------------------+------------------+------------------+
|      abc_0011       |      pending     | 07 June 18       |
|      abc_0011       |      rm          | 06 June 18       |
|      abc_0011       |      rm          | 11 June 18       |
|      lmn_0012       |      archive     |  9 May 18        |
|      lmn_0012       |      rm          |  10 May 18       |
|      lmn_0012       |      archive     |  10 May 18       |
|      xyz_0013       |      lmn         |  11 May 18       |
|      xyz_0013       |      lmn         |  10 May 18       |
|      xyz_0013       |      intro       |  06 May 18       |

期望产出:

代码语言:javascript
复制
+---------------------+------------------+------------------+
|      bpm_no         |     winame       |   entrytime      |
+---------------------+------------------+------------------+
|      abc_0011       |      rm          | 06 June 18       |
|      lmn_0012       |      archive     | 9 May 18         |
|      xyz_0013       |      lmn         |  10 May 18       |

在这个例子中,我有3 bpm_no abc_0011,lmn_0012,xyz_0013。如果您查看表T2,bpm_no分别位于rm、bpm_no和lmn。在表T2中,它显示了bpm_no的历史,was名称从哪个was中划过bpm_no,以及对于相同的entry_time是什么。因此,我们只需要从T1中选择那些winame,它同样躺在T2查找表中,然后计算并存储最小的入口时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-12 08:55:02

代码语言:javascript
复制
SELECT
    t1.bpm_no,
    t1.winame,
    min(entrytime) min_entrytime
FROM
    t1 JOIN t2
        ON t1.bpm_no = t2.bpm_no
            AND t1.winame = t2.winame

GROUP BY
    t1.bpm_no,
    t1.winame;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50812822

复制
相关文章

相似问题

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