内部联接与另一个表的日期偏移。

时间:2015-12-21 20:36:02

标签: mysql date

我的数据库由一组有生日的用户组成。 (百万)

    |      USERS      |
    - - - - - - - - - -
    | ID | BIRTHDATE  |
    | 1  | 1987-12-14 | 
    | 2  | 1984-12-19 |
    | 3  | 1987-12-14 |
    | 4  | 1987-12-16 |

我们没有一种可以创建群组的机制。 X天到他们生日的用户组。 (用于营销目的)。

    |      GROUPS     |
    - - - - - - - - - -
    | ID | BIRTHDATE_OFFSET  |
    | 1  | 2                 | 
    | 2  | -2                |
    | 3  | 4                 |
    | 4  | 17                |

如何一次性找到所有客户及其相应的群组?

1 个答案:

答案 0 :(得分:0)

使用连接条件中的偏移量是一个简单的JOIN

SELECT u.id AS user, g.id AS group
FROM USERS AS u
JOIN GROUPS AS g ON u.birthdate = date_add(curdate(), interval g.birthdate_offset DAY)