SQl 加入日期范围
SQl join on date range
我有一个table
ID, Start Date, End Date
我有第二个 table,它有一列,日期从 2000 年到 2050 年。它是加入开始和结束日期的关键
Date_ID
我想table这样开始
ID, Start Date, End Date
123, 1/1/2017, 1/5/2017
然后将它加入日期 Table(第二个 table)以输出一个 table 这样的
ID, Start Date, End Date, Day Date
123, 1/1/2017, 1/5/2017, 1/1/2017
123, 1/1/2017, 1/5/2017, 1/2/2017
123, 1/1/2017, 1/5/2017, 1/3/2017
123, 1/1/2017, 1/5/2017, 1/4/2017
123, 1/1/2017, 1/5/2017, 1/5/2017
我想在一个日期范围内加入,但那行不通。任何 help/suggestions 将不胜感激!我正在使用 MYSQL.
SELECT
name,
date(start_date),
date(end_date),
d.id as Day_Date
FROM
f_table1 a
Left Join
d_table2 d on d.id = d.id between date(a.start_date) and date(a.end_date)
上面的代码当然没有运行,但这是我迄今为止最好的尝试。
SELECT
name,
date(start_date),
date(end_date),
d.id as Day_Date
FROM f_table1 a
Left Join d_table2 d
on a.id = d.id
and d.`Day Date` between date(a.start_date) and date(a.end_date)
尝试以下查询:
SELECT
姓名,
日期(start_date),
日期(end_date),
d.id 作为 Day_Date
从
f_table1一个
正确加入
d_table2 d 在 d.id 日期 (a.start_date) 和日期 (a.end_date)
之间
我有一个table
ID, Start Date, End Date
我有第二个 table,它有一列,日期从 2000 年到 2050 年。它是加入开始和结束日期的关键 Date_ID
我想table这样开始
ID, Start Date, End Date
123, 1/1/2017, 1/5/2017
然后将它加入日期 Table(第二个 table)以输出一个 table 这样的
ID, Start Date, End Date, Day Date
123, 1/1/2017, 1/5/2017, 1/1/2017
123, 1/1/2017, 1/5/2017, 1/2/2017
123, 1/1/2017, 1/5/2017, 1/3/2017
123, 1/1/2017, 1/5/2017, 1/4/2017
123, 1/1/2017, 1/5/2017, 1/5/2017
我想在一个日期范围内加入,但那行不通。任何 help/suggestions 将不胜感激!我正在使用 MYSQL.
SELECT
name,
date(start_date),
date(end_date),
d.id as Day_Date
FROM
f_table1 a
Left Join
d_table2 d on d.id = d.id between date(a.start_date) and date(a.end_date)
上面的代码当然没有运行,但这是我迄今为止最好的尝试。
SELECT
name,
date(start_date),
date(end_date),
d.id as Day_Date
FROM f_table1 a
Left Join d_table2 d
on a.id = d.id
and d.`Day Date` between date(a.start_date) and date(a.end_date)
尝试以下查询:
SELECT 姓名, 日期(start_date), 日期(end_date), d.id 作为 Day_Date 从 f_table1一个 正确加入 d_table2 d 在 d.id 日期 (a.start_date) 和日期 (a.end_date)
之间