在这个选择查询中,我给每个变量一个别名。但是,当我尝试给JSON_EXTRACT命名时,会出现错误。
SELECT
var1 'varName1',
var2 'varName2',
JSON_EXTRACT(varJSON, '$.objectOne')
FROM tableTwo w
WHERE t.thisId = w.thatId
'varName3'
FROM myTable t
//WHERE etc
始终在''varName3' FROM myTable t'
附近收到语法错误。
我进行了搜索,但找不到有关此特定问题的任何文档。这可能吗?
答案 0 :(得分:0)
知道了! JSON_EXTRACT需要具有另一个SELECT并用括号括起来,然后,如果连接了第二个表,则查询会将其接受为变量并允许使用别名。
SELECT
var1 'varName1',
var2 'varName2',
(SELECT JSON_EXTRACT(w.varJSON, '$.objectOne')
FROM tableTwo w
WHERE t.thisId = w.thatId) 'aliasName3'
FROM myTable t
LEFT JOIN tableTwo w ON tableTwoID = myTableID
/*WHERE etc*/
以防其他人...