MySQL错误1349我缺少什么? [英] MySQL ERROR 1349 What I am missing?

查看:498
本文介绍了MySQL错误1349我缺少什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到一个MySQL 1349错误,但似乎该错误不正确:

I am getting a MySQL 1349 error, but it appears as though the error is incorrect:

ERROR 1349: View's SELECT contains a subquery in the FROM clause

创建视图时可以没有任何子查询吗?

Can I not have ANY subqueries when creating a view?

这是我的SQL:

CREATE VIEW  `wordpress`.`ffi_be_v_book_details` AS (
  SELECT ffi_be_courses. * , COALESCE(  `Total` , 0 ) AS  `Total` 
  FROM  `ffi_be_courses` 
  LEFT JOIN (
    SELECT * , COUNT(  `Course` ) AS  `Total` 
    FROM ffi_be_courses
    RIGHT JOIN (
      SELECT  `Course` 
      FROM  `ffi_be_bookcourses` 
      LEFT JOIN  `ffi_be_sale` ON ffi_be_bookcourses.SaleID = ffi_be_sale.SaleID
      WHERE DATE_ADD( ffi_be_sale.Upload, INTERVAL( 
        SELECT  `BookExpireMonths` 
        FROM  `ffi_be_settings` ) MONTH ) > CURDATE( ) AND ffi_be_sale.Sold =  '0'
      GROUP BY ffi_be_bookcourses.SaleID
    ) AS  `q1` ON ffi_be_courses.Code = q1.Course
    GROUP BY q1.Course
  ) AS  `q2` ON ffi_be_courses.Code = q2.Code
  WHERE ffi_be_courses.Type =  'Arts'
  ORDER BY ffi_be_courses.Name ASC
)

谢谢您的时间.

推荐答案

以上答案正确. MySQL 5.5不允许FROM子句中的子查询.但是,现在在MySQL 5.7.7和更高版本中允许使用它.

The above answers are correct. MySQL 5.5 does not allow subqueries in the FROM clause. It is allowed now, however, in MySQL 5.7.7 and later.

这篇关于MySQL错误1349我缺少什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆