seleccione filas con el intervalo de tiempo propio de los usuarios

Me gustaría seleccionar filas en función del rango de tiempo de los propios usuarios.

Supongo que tengo dos mesas. El primero es sobre los datos del registro de actividad del usuario.

| user_id    | date        | activity     |
|:-----------|------------:|:------------:|
| 1          |      1/1/18 |    a1        |
| 1          |     2/12/18 |    a2        |
| 1          |     3/21/18 |    a3        |
| 2          |     1/13/18 |    b1        |
| 2          |      2/4/18 |    b2        |
| 2          |     3/24/18 |    b3        |

La segunda tabla es el rango de tiempo que quiero extraer para cada usuario user_id, start_date, end_date

1, 1/1/18, 3/1/18
2, 2/1/18, 4/1/18

El resultado esperado sería user_id, fecha, actividad

1, 1/1/18, a1
1, 2/12/18, a2
2, 2/4/18, b2
2, 3/24/18, b3

Respuestas a la pregunta(1)

Su respuesta a la pregunta