1

我们有多个包含“静态”键/值对的表,这些表当前使用多个 SQL (MSSQL) 查询来提取。是否可以在一个 SQL 查询中提取所有这些数据,以便我们可以在单个结果集中引用每个列键和列值?例如:

TABLE_ONE
id, my_key_name, my_value_name

TABLE_TWO
id, my_other_key_name, my_other_value_name

请记住,每个表的键和值的列名都不同。基本上,我们试图将多个调用合并为一个。在这种情况下,我们必须拥有多个 Java ResultSet,而我们只需要在代码中进行组合吗?

4

2 回答 2

4

怎么样

SELECT id, my_key_name, my_value_name
FROM   TABLE_ONE
UNION
SELECT id, my_other_key_name, my_other_value_name
FROM   TABLE_TWO

?

看:UNION

于 2011-08-23T16:55:55.270 回答
1

我不知道你是否可以在一个语句中做到这一点(通过用分号分隔查询),但你当然可以创建一个返回多个结果集的存储过程。

调用 getResultSet 后,您可以使用 getMoreResults 方法(来自 java.sql.Statement)移动到下一个 ResultSet。它会关闭当前的 ResultSet,因此在调用 getMoreResults 并从 Statement 获取下一个 ResultSet 之前,您需要从第一个 ResultSet 中获取所需的任何数据。

于 2011-08-23T17:00:04.603 回答