首页 > 解决方案 > MySql 表参考和嵌套括号

问题描述

我想就以下查询寻求一些帮助。

我的目标是创建一个在指定截止月份(“selection_criteria”部分)内的有效日历日期列表(“make_calendar”部分)。

“make_calendar”部分效果很好,但是当我尝试将其加入“selection_criteria”时,会发生错误:“字段列表”中的未知列“selection_criteria.cutoff_date”

我认为这是因为嵌套(?)但我不确定。有没有办法重新格式化此查询,使“make_calendar”部分对“selection_criteria”部分具有可见性?

感谢您的任何帮助。

select calendar_date

  from ( select ('2018-07-31') cutoff_date ) selection_criteria

       inner join ( select calendar_date
                      from ( select makedate( year( selection_criteria.cutoff_date ),1) + interval (month( selection_criteria.cutoff_date )-1) month + interval daynum day calendar_date
                              from (   select t * 10 + u daynum
                                         from ( select 0 t union select 1 union select 2 union select 3) tens,

                                              ( select 0 u union select 1 union select 2 union select 3
                                                union select 4 union select 5 union select 6 union select 7
                                                union select 8 union select 9) singles

                                     order by daynum ) integer_list
                                   ) date_list
                     where month(calendar_date) = month( now() )   
                  ) make_calendar;

标签: mysqljoinnested

解决方案


推荐阅读