通过SELECT查询将Alias与JSON_EXTRACT结合使用

时间:2019-12-26 13:33:06

标签: mysql json

在这个选择查询中,我给每个变量一个别名。但是,当我尝试给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'附近收到语法错误。

我进行了搜索,但找不到有关此特定问题的任何文档。这可能吗?

1 个答案:

答案 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*/

以防其他人...