MySQL无法在from子句中为子查询创建视图
我正在尝试进行一个查询,该查询将显示前10个系统,“其他”显示为第11行。我提出了联合询问。我发现我构建的查询会为每个不在Top10中的系统名返回“Other”记录,所以我在select中选择了select,将所有“Other”记录相加。这使我找到了错误代码1349。有人能帮我重新安排这个问题吗MySQL无法在from子句中为子查询创建视图,mysql,mysql-workbench,mysql-error-1349,Mysql,Mysql Workbench,Mysql Error 1349,我正在尝试进行一个查询,该查询将显示前10个系统,“其他”显示为第11行。我提出了联合询问。我发现我构建的查询会为每个不在Top10中的系统名返回“Other”记录,所以我在select中选择了select,将所有“Other”记录相加。这使我找到了错误代码1349。有人能帮我重新安排这个问题吗 create view QueryView as (Select System, Cast(Sum(Duration) as unsigned) AS 'Sum' From tbl_Events
create view QueryView as (Select
System, Cast(Sum(Duration) as unsigned) AS 'Sum'
From
tbl_Events
INNER JOIN
(trans_GU, tbl_G, trans_GM) ON (trans_GU.Unit_ID = tbl_Events.Unit_ID
AND trans_GU.GIB_SN = tbl_G.SN
AND tbl_G.EQUIPCODE = trans_GM.EQUIPCODE
AND tbl_G.GEN_MODEL = trans_GM.GEN_MODEL)
WHERE
trans_GM.ProductLine = 'fleet'
GROUP BY System
Order By Sum desc
Limit 10)
Union
(Select 'Other' As System, Cast(Sum(a.`Sum`) As Unsigned) As 'Sum' FROM (Select
'Other' As System,
Sum(Duration) AS 'Sum'
FROM tbl_Events
INNER JOIN
(trans_GU, tbl_G, trans_GM) ON (trans_GU.Unit_ID = tbl_Events.Unit_ID
AND trans_GU.GIB_SN = tbl_G.SN
AND tbl_G.EQUIPCODE = trans_GM.EQUIPCODE
AND tbl_G.GEN_MODEL = trans_GM.GEN_MODEL)
WHERE
trans_GM.ProductLine = 'fleet'
GROUP BY System
Order By Sum desc
Limit 10,99999999) As a);
对。MySQL不支持
from
子句中的子查询。您可以将查询的第二部分重写为,而不使用子查询:
(Select 'Other', cast(Sum(Duration) as unisgned) AS "Sum"
FROM tbl_Events INNER JOIN
(trans_GU, tbl_G, trans_GM)
ON (trans_GU.Unit_ID = tbl_Events.Unit_ID
AND trans_GU.GIB_SN = tbl_G.SN
AND tbl_G.EQUIPCODE = trans_GM.EQUIPCODE
AND tbl_G.GEN_MODEL = trans_GM.GEN_MODEL)
WHERE trans_GM.ProductLine = 'fleet'
From tbl_RAM
GROUP BY System
Order By Sum desc
Limit 10,99999999
)
谢谢你的回答,我尝试了这个,但是我返回了不止一行。这就是我进行子查询的原因。