Saxon SQL 映射缺少一些值

问题描述 投票:0回答:1

我已经能够让

sql:prepared-query($connection, $sql)()
处理简单的 SQL。

SELECT column1 FROM table

这效果很好,我可以使用

$sql-result-map[1]?column1

访问该值

它也适用于一些连接。但是,当我连接两个具有相同列名的表,并且查询指定要返回哪些列时,映射具有列名的键,但没有值。

SELECT table1.column1 FROM table table1 JOIN table table2

返回序列中的映射显示

map:keys($sql-result-map[1])
中的关键列1,但
$sql-result-map[1]?column1
始终为空。

我还注意到地图键不遵循任何 AS 别名,因此

SELECT column1 AS column_alias FROM table
不会更改所使用的键。

关于如何解决这些限制有什么建议吗?

saxon
1个回答
0
投票

我怀疑正在发生的事情是,在查询返回的

ResultSetMetaData
中,两列为
getColumnName()
返回相同的结果,当然在我们返回的映射中,每个键都需要是唯一的。我需要 (a) 确认情况确实如此,以及 (b) 决定如何处理。我们可能应该使用
getColumnLabel()
的结果作为密钥,而不是
getColumnName()
的结果。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.