gpt4 book ai didi

mysql - SQL Join ON 子句对别名的有效引用

转载 作者:行者123 更新时间:2023-12-03 23:48:09 25 4
gpt4 key购买 nike

我正在生成一个 SQL 查询,我需要从 JSON 获取数据存储在我表的一个字段中。它是这样的

SELECT creation.INSERT_DATE as applicationDateTime,
REPLACE(json_extract(creation.FACILITY_DATA, '$.loanType'), '"', '') AS loanType,
lookup_detail.DETAIL_DESCRIPTION AS financingType
FROM creation
LEFT JOIN lookup_detail ON lookup_detail.DETAIL_CODE = loanType

所以基本上我试图与表建立连接 创作 lookup_detail 通过字段 FACILITY_DATA 其中有 JSON 的数据和别名贷款类型引用 DETAIL_CODE field 。但是,我收到此错误
code:"ER_BAD_FIELD_ERROR"
errno:1054
sqlMessage:"Unknown column 'loanType' in 'on clause'"
sqlState:"42S22"

有什么我可以做的吗?我试图搜索对 ON 的有效引用是什么 JOIN的条款操作,但我只得到典型的方式。

最佳答案

要么重复 ON 中的表达式子句,或加入子查询。

SELECT c.applicationDateTime, c.loanType, l.financingType
FROM (
SELECT INSERT_DATE as applicationDateTime,
REPLACE(json_extract(creation.FACILITY_DATA, '$.loanType'), '"', '') AS loanType
FROM creation
) AS c
JOIN lookup_detail AS l ON l.DETAIL_CODE = c.loanType

此外,您可能应该使用 JSON_UNQUOTE()而不是 REPLACE() .或者您可以使用 ->>运算符,它在一步中提取和取消引号。

关于mysql - SQL Join ON 子句对别名的有效引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61220557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com