我在mysql中几乎全新,并尝试解决此查询。我有两张桌子
一个是month_april,第二个是month_sales
Month_april 表
Month_dates
2015-04-01
2015-04-02
2015-04-03
2015-04-04
2015-04-05
2015-04-06
.
.
.
.
2015-04-30
Month_sales 表
Month_dates Sale_name
2015-04-01 Remote
2015-04-05 Remote
2015-04-08 Remote
2015-04-09 Remote
2015-04-10 Remote
2015-04-15 Remote
2015-04-20 Remote
2015-04-25 Remote
2015-04-30 Remote
这是两个表,只有一个产品名称" Remote"。我需要" Month_sales"的缺失日期数据。表" Sale_name"
是否可以仅使用month_sales表获取数据?如果没有,那么我如何使用这两个表。
我正在寻找像这样的输出
Month_dates Sale_name
2015-04-02 Remote
2015-04-03 Remote
2015-04-04 Remote
2015-04-06 Remote
2015-04-07 Remote
2015-04-11 Remote
2015-04-12 Remote
2015-04-13 Remote
2015-04-14 Remote
2015-04-16 Remote
2015-04-17 Remote
2015-04-18 Remote
2015-04-19 Remote
2015-04-21 Remote
2015-04-22 Remote
2015-04-23 Remote
2015-04-24 Remote
2015-04-26 Remote
2015-04-27 Remote
2015-04-28 Remote
2015-04-29 Remote
答案 0 :(得分:0)
这样做你想要的吗?
select ma.month_date, 'Remote' as sale_name
from month_april ma left join
month_sales ms
on ma.month_date = ms.month_date
where ms.month_date is null;
答案 1 :(得分:0)
您可以在日期表上left join
查找缺少的日期。
select a.month_dates, s.sales_name
from month_april a
left join month_sales s
on a.month_dates <> s.month_dates
where s.month_dates is not null;