我想基于该表的数量从表中的一行获得多个结果。
ID | count
A | 12
B | 138
因此,我希望查询的输出为A的12倍(无论是否使用计数器)和B的138倍。我已经看到了在DB上添加计数表的解决方案,但我无法做到这一点。
您可以使用相关的分层查询:
SELECT t.id, r.COLUMN_VALUE, t.cnt
FROM table_name t
CROSS JOIN
TABLE(
CAST(
MULTISET(
SELECT LEVEL
FROM DUAL
CONNECT BY LEVEL <= t.cnt
)
AS SYS.ODCINUMBERLIST
)
) r;
或递归子查询分解子句:
WITH row_generator ( id, lvl, cnt ) AS (
SELECT id, 1, cnt
FROM table_name
UNION ALL
SELECT id, lvl + 1, cnt
FROM row_generator
WHERE lvl < cnt
)
SELECT *
FROM row_generator
ORDER BY id, lvl
因此对于测试数据:
CREATE TABLE table_name ( ID, cnt ) AS
SELECT 'A', 12 FROM DUAL UNION ALL
SELECT 'B', 138 FROM DUAL
这两个解决方案都将输出:
ID | COLUMN_VALUE | 碳纳米管 :-| -----------:| | -: A | 1 | 12 A | 2 | 12 A | 3 | 12 ... A | 10 | 12 A | 11 | 12 A | 12 | 12 B | 1 | 138 B | 2 | 138 B | 3 | 138 B | 4 | 138 ... B | 136 | 138 B | 137 | 138 B | 138 | 138
问题内容: 我想知道是否可以限制SQL请求的结果? 例如,最多只返回以下内容的50行: 谢谢。 问题答案: 是的,这是可能的。这在数据库引擎之间有所不同。 Postgres: SQL Server: …
问题内容: 我有一个包含以下架构的数据库,该架构描述了与多个顾问联系的个人之间的链接,这些顾问与多个组织有联系 业务需求是启用对所有这些概念的搜索并围绕AdvisorId组织结果。例如,搜索结果的显示可能如下 为此,我们针对这些概念及其之间的关系创建了一个扁平化的表格。因此,相同的AdvisorId将出现在多行中 当我搜索字符串时,我想确保AdvisorId周围的 所有 记录都将一起返回,而不管各
问题内容: 我正在使用以下内容将检索到的值添加到类中。所有值都将添加到该类的属性中,但是我正在使用compisition(在类中具有class的对象),并且在输出中不显示任何内容。 地址类别如下: 问题答案: 像这样的作品: 将ResultSet行转换为JavaBean。此实现使用反射和BeanInfo类将列名与bean属性名匹配。属性根据以下几个因素与列匹配: 该类具有与列同名的可写属性。名称比
问题内容: 我一直在四处寻找,但还没有找到如何执行此操作的方法(尽管在分析其性能方面发现了很多内容!!) 我想执行一次选择,该操作返回几列数据,然后返回另一个表中的相关行的嵌套表(实际上是同一张表本身连接在一起,但我认为这是无关紧要的)。 所以数据是这样的: 这个想法是执行选择,以查找所有可能与注册帐户相关的未注册人员。 所以结果看起来像 我可以使用SQL来处理所有选择条件,并且有一个查询返回可以
在我们的应用程序中,我们有外部源来处理数据并将数据插入数据库,以及应用程序使用的相同数据库。因此,数据库超载。 为了避免这种情况,我们使用了两台服务器,一台用于处理数据,另一台用于应用程序。在第一台服务器中进行处理后,我们通过复制过程将数据移动到另一台服务器。 现在,我们想将整个设置移动到Azure SQL PaaS。截至目前,Azure PaaS中不可能进行复制。 请帮助我们解决这个问题。
我正在尝试将我的计算结果重定向到数据文件中,这是我的函数: 我希望将此函数的结果保存在数据文件(.dat)中 我只知道如何编写文本或少量参数,但不知道如何编写函数结果。