如何合并表以有选择地将记录添加到MySQL中的第三个表中?
我正在尝试将两个表合并在一起,以便一个包含 如果当前不存在记录,则添加星期几。例如,给定以下表格:如何合并表以有选择地将记录添加到MySQL中的第三个表中?,mysql,join,Mysql,Join,我正在尝试将两个表合并在一起,以便一个包含 如果当前不存在记录,则添加星期几。例如,给定以下表格: shop_id process_day 1 Mon 1 Tues 1 Wed 1 Thurs 1 Fri 1 Sat 1 Sun 2 Mon 2 Tues 3 days_of_week Mon Tues Wed Thurs Fri Sat Sun 我如何加入它们以添加一周中的天数,以便新的结果表如下所示: shop_id data_process
shop_id process_day
1 Mon
1 Tues
1 Wed
1 Thurs
1 Fri
1 Sat
1 Sun
2 Mon
2 Tues
3
days_of_week
Mon
Tues
Wed
Thurs
Fri
Sat
Sun
我如何加入它们以添加一周中的天数,以便新的结果表如下所示:
shop_id data_process_date
1 Mon
1 Tues
1 Wed
1 Thurs
1 Fri
1 Sat
1 Sun
2 Mon
2 Tues
2 Wed
2 Thurs
2 Fri
2 Sat
2 Sun
3 Mon
3 Tues
3 Wed
3 Thurs
3 Fri
3 Sat
3 Sun
您可以使用
交叉连接
获得所有可能的组合。在a中,我们可以获得店铺id
的唯一值,然后进行笛卡尔积(交叉连接),以获得所有可能的组合:
SELECT
dt.shop_id,
t2.days_of_week AS date_process_date
FROM
(
SELECT DISTINCT shop_id FROM table1
) AS dt
CROSS JOIN table2 AS t2
ORDER BY dt1.shop_id