迷失在MySQL查询中

迷失在MySQL查询中,mysql,views,Mysql,Views,我做过一些研究,我知道如何构建视图,但我觉得如果不创建硬编码的信息表,我想要实现的可能是不可能的。下面是我想要实现的 Table 1 ID 1 2 3 4 5 Table 2 ID DATE 1 4/23/2014 1 5/10/2014 2 4/15/2014 5 12/13/2013 3 3/15/2014 我想做的是编写一个查询,该查询将以表1中的数据开始,因为它包含所有可能的ID,我想根据ID字段将此数据与表2中的数据连接起

我做过一些研究,我知道如何构建视图,但我觉得如果不创建硬编码的信息表,我想要实现的可能是不可能的。下面是我想要实现的

Table 1 
ID
1
2
3
4
5

Table 2
ID     DATE
1      4/23/2014
1      5/10/2014
2      4/15/2014
5      12/13/2013
3      3/15/2014
我想做的是编写一个查询,该查询将以表1中的数据开始,因为它包含所有可能的ID,我想根据ID字段将此数据与表2中的数据连接起来,但关键是我将传入一个日期参数,该参数也将根据月份和年份过滤数据。我需要做的是,如果表1中的ID在给定月份的表2中没有记录,我需要创建一个空记录。我遇到的问题是,无论将表1中的每个ID放入视图中,都没有一条空记录,下面我将解释我为什么需要它。以下是我通过典型的左连接得到的视图:

Table 3 (View or just a general query joining the above tables)
ID     DATE
1      4/23/2014
1      5/10/2014
2      4/15/2014
5      12/13/2013
3      3/15/2014
4      null
现在很容易看出,我是否提取了2014年4月/年的数据,或者我将得到的数据为空

ID     DATE
1      4/23/2014
2      4/15/2014
4      null    
我希望得到的(我意识到从这个视图中的数据是不可能的)是:


那么,有没有一种方法可以动态地在视图中创建这些行,以便在传入日期参数时获得所需的结果?我刚刚想到的第二件事是创建一个视图,其中只包含表1中的ID和一个空日期字段,并可能将这两个视图合并在一起?或者可以在构建初始视图时使用联合来获得所需的结果?一旦我在最终视图中有了数据(或者通常使用正确的查询来提取数据),我将能够完成基于数据构建报告的最终任务。任何帮助都将不胜感激

您已使用where子句进行筛选。把你的过滤条件放在你的左连接的ON子句中。我觉得一开始就没有尝试这一点很可笑!感谢您的快速回复!
ID     DATE
1      4/23/2014
2      4/15/2014
4      null
3      null
5      null