CREATE PROCEDURE `getAssetDetailsforPDF`(
) BEGIN
Select
class.Name as AssetName,
getOperatingZoneName(
ifnull(getoperatingzone(class.ID), 0)
) as OperatingZone,
getTimetoFailure(
class.ID
) as TagValue,
class1.Name as LineName,
details.Defintion - > > '$."Asset ID"' as definition
from
asset_classification class
left join
asset_classification class1
on class1.ParentId = 2
left join
asset_details details
on details.Id in(
select
class.ID
)
Where
class.MCT_typeId = 5
and class.ParentId in(
Select
class1.ID
)
group by
class.Id
;
END
;
;
我有这个 sql 查询,但在将 sql 文件导入 phpmyadmin 数据库时出现错误。
您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 '>'$."Asset ID"' 附近使用的正确语法
编辑 这是 MySql 的版本:
最佳答案
可能是你的 MySQL 不支持 "->>'$..."这样的运算符。您可以像这样使用 MySQL 的 json_extract() 函数代替它:
CREATE PROCEDURE `getAssetDetailsforPDF`(
) BEGIN
Select
class.Name as AssetName,
getOperatingZoneName(
ifnull(getoperatingzone(class.ID), 0)
) as OperatingZone,
getTimetoFailure(
class.ID
) as TagValue,
class1.Name as LineName,
json_extract(details.Defintion,'$."Asset ID"') as definition
from
asset_classification class
left join
asset_classification class1
on class1.ParentId = 2
left join
asset_details details
on details.Id in(
select
class.ID
)
Where
class.MCT_typeId = 5
and class.ParentId in(
Select
class1.ID
)
group by
class.Id
;
END
;
;
关于mysql - sql '->>' 运算符出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50271593/