我使用jdbc模板对MySQL db运行以下查询:
SELECT d.*, a.mongo_id as yyyyy_profile_mongo_id,t.mongo_id as targeting_profile_mongo_id, CAST(xxxxx_type AS SIGNED) AS xxxxx_type_int
LEFT JOIN zzzzz t on t.id = d.targeting_profile_id
LEFT JOIN yyyyy a on a.id = d.yyyyy_profile_id
FROM xxxxx d当试图使用别名名称"targeting_profile_mongo_id“从ResultSet获取字符串时,我会得到一个”无效列名“错误。

我可以在调试器中看到,即使我做了"as targeting_profile_mongo_id“,columnName仍然显示为"mongo_id”的原始值,并且只有列标签被更改。

这里有什么工作可以不用循环元数据来找到列索引吗?
发布于 2022-11-20 20:22:50
经过进一步挖掘,我找到了一个解决办法!看起来,您可以通过在引起问题的列周围设置一个接口来解决这个问题。
像这样
SELECT d.*, CONCAT(a.mongo_id,'') as yyyyy_profile_mongo_id,CONCAT(t.mongo_id,'') as targeting_profile_mongo_id, CAST(xxxxx_type AS SIGNED) AS xxxxx_type_int
LEFT JOIN zzzzz t on t.id = d.targeting_profile_id
LEFT JOIN yyyyy a on a.id = d.yyyyy_profile_id
FROM xxxxx dmysql column alias not working, have to create an empty concatenation to make it work
https://stackoverflow.com/questions/74478250
复制相似问题