【问题标题】:View's SELECT contains a subquery in the FROM clause MySQL statementView 的 SELECT 包含 MySQL 语句的 FROM 子句中的子查询
【发布时间】:2012-08-28 16:50:34
【问题描述】:

我有一个关于在 MySQL 工作台中创建视图的问题。保存时出现错误:“视图的 SELECT 在 FROM 子句中包含子查询”。

这是我的声明的副本:

CREATE VIEW viewMorningReport AS 
select z.AllocationDate, z.LocationName, z.StationName, a.00000100, b.01000200, c.02000300  from
(SELECT DISTINCT AllocationDate, LocationName, StationName FROM satsschema.employeeslot
where LocationName = 'T2 PML'
and StationName is not null) z
left outer join 
(SELECT AllocationDate, LocationName, StationName, EmpName AS '00000100' FROM     satsschema.employeeslot
WHERE Assigned = true
and (EmpTime = '00:00:00' && EmpTime < '01:00:00')) a
on z.LocationName = a.LocationName and z.StationName = a.StationName
left outer join
(SELECT  AllocationDate, LocationName, StationName, EmpName AS '01000200' FROM    satsschema.employeeslot
WHERE Assigned = true
and (EmpTime = '01:00:00' && EmpTime < '02:00:00')) b
on a.LocationName = b.LocationName and a.StationName = b.StationName
left outer join
(SELECT  AllocationDate, LocationName, StationName, EmpName AS '02000300' FROM satsschema.employeeslot
WHERE Assigned = true
and (EmpTime = '02:00:00' && EmpTime < '03:00:00')) c
on b.LocationName = c.LocationName and b.StationName = c.StationName

知道哪里出错了吗?

【问题讨论】:

标签: mysql sql mysql-error-1349


【解决方案1】:

作为the official documentation says

E.4。观看次数限制

(..)

子查询不能用在视图的 FROM 子句中。

一个选项可以是为每个子查询创建一个视图。 另一个,是修改你的视图,避免from子句中的subquerys

【讨论】:

    【解决方案2】:

    您可以创建子查询的视图并在主视图中调用他

    【讨论】:

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