如何在MySQL表中获得满足所有名称(每个名称都有重叠时间)的记录?

时间:2019-05-11 23:15:16

标签: mysql

我正在尝试开发一个函数来提取所有具有重叠时间的名称的记录。以下是表格的示例。重要的是,日期范围应与所有DOC_NAMES重叠,并且日期因用户而异。因此不能考虑DOC_NAME是固定的。

USER   DOC_NAME    STATUS      START        END
A       DMV        APPROVED    1/2/2018    4/2/2019
A       DMV        APPROVED    6/2/2019    12/12/2019
A       ORG        APPROVED    2/2/2018    6/12/2019
A       ORG        PENDING     6/2/2019    12/30/2019
A       SMS        APPROVED    1/2/2018    5/30/2018
A       SMS        APPROVED    7/2/2018    10/30/2019

此表可以有多个用户。

我想创建一个单独的表,该表显示每个用户的所有三个DOC_NAME重叠,并且STATUS = APPROVED。 对于START,在所有DOC_NAME中,START是所有START记录中的最小值 对于END,在所有DOC_NAME中,END是所有END记录中的最大值

一个示例表如下:

USER      DOC_NAME          START          END
A          DMV,ORG,SMS      2/2/2018       5/30/2018
A          DMV,ORG,SMS      7/2/2018       6/12/2019
A          DMV,ORG,SMS      6/2/2019       6/12/2019

如何使用MYSQL存储过程执行此操作? 输入是USER。输出是上面的表。

0 个答案:

没有答案