【问题标题】:ERROR 1349: View's SELECT contains a subquery in the FROM clauseERROR 1349:视图的 SELECT 在 FROM 子句中包含子查询
【发布时间】:2016-08-27 17:43:30
【问题描述】:
SELECT * FROM (SELECT ((DATE_SUB(curdate(), INTERVAL 4 WEEK)) + INTERVAL c.number DAY) AS date_year,

(DATE_FORMAT(((DATE_SUB(curdate(), INTERVAL 4 WEEK)) + INTERVAL c.number DAY),'%w') + 1) as day
FROM (SELECT singles + tens + hundreds number FROM 
( SELECT 0 singles
UNION ALL SELECT   1 UNION ALL SELECT   2 UNION ALL SELECT   3
UNION ALL SELECT   4 UNION ALL SELECT   5 UNION ALL SELECT   6
UNION ALL SELECT   7 UNION ALL SELECT   8 UNION ALL SELECT   9
) singles JOIN 
(SELECT 0 tens
UNION ALL SELECT  10 UNION ALL SELECT  20 UNION ALL SELECT  30
UNION ALL SELECT  40 UNION ALL SELECT  50 UNION ALL SELECT  60
UNION ALL SELECT  70 UNION ALL SELECT  80 UNION ALL SELECT  90
) tens  JOIN 
(SELECT 0 hundreds
UNION ALL SELECT  100 UNION ALL SELECT  200 UNION ALL SELECT  300
UNION ALL SELECT  400 UNION ALL SELECT  500 UNION ALL SELECT  600
UNION ALL SELECT  700 UNION ALL SELECT  800 UNION ALL SELECT  900
) hundreds
) c  
WHERE c.number BETWEEN 0 and 364 ) a

【问题讨论】:

标签: mysql


【解决方案1】:

虽然您没有提出任何问题,但我尝试猜测:当您尝试在问题中运行查询时,您会在标题中收到错误消息。

正如create view 声明中的 mysql 文档所说:

视图定义受以下限制:

在 MySQL 5.7.7 之前,SELECT 语句不能包含子查询 FROM 子句。

因此,要么将 mysql 升级到 v5.7.7,要么不能在视图的 from 子句中使用子查询。考虑使用联合子查询的辅助表。

【讨论】:

    猜你喜欢
    • 2014-06-21
    • 1970-01-01
    • 2020-02-08
    • 2014-07-09
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    相关资源
    最近更新 更多