首页 > 解决方案 > 如何从同一个表创建子查询 - SQL Developer

问题描述

一般来说,我是 SQL 查询和数据库功能的新手。我正在尝试创建一个查询,以便对一些信息进行排序,如下所示:

LVL     PRODUCT          DESCRIPTION
5       01AR2TGELL       DESLVL5
6       01AR2TGELLGS     DESLVL6
7       01AR2TGELLGSQKA  DESLVL7
6       01AR2TGELLDE     DESLVL6
7       01AR2TGELLDEUDP  DESLVL7
7       01AR2TGELLDEUZN  DESLVL7

With this table i want to get this approach:

LVL   PRODUCT          DESCRIPTION  | LVL   PRODUCT        DESCRIPTION  | LVL  PRODUCT     DESCRIPTION
7     01AR2TGELLGSQKA  DESLVL7      | 6     01AR2TGELLGS   DESLVL6      | 5    01AR2TGELL  DESLVL5
7     01AR2TGELLDEUDP  DESLVL7      | 6     01AR2TGELLDE   DESLVL6      | 5    01AR2TGELL  DESLVL5
7     01AR2TGELLDEUZN  DESLVL7      | 6     01AR2TGELLDE   DESLVL6      | 5    01AR2TGELL  DESLVL5

该表包括约。6.5 万个条目,如第一个表。

我没有在 SQL 中完成太多代码,我所做的是获取所有 LVL 7 条目: select * from PRODHIERARCHY where LVL=7 将它们保存在 Java 中的 ArrayList 中(大约需要 3 分钟才能获得 35,000 个条目)

然后从 LVL6、LVL5 到 LVL1 获取条目并比较它们,然后打印一个类似第二个的表格,但是每个 LVL 比较需要将近 20 分钟,这是非常低效的。

我一直在研究子查询,但我无法得到它。我真的不知道在 Java 中进行许多调用查询是否会更容易(我也不能这样做,因为我不知道如何比较 SQL 中的值)而不是一个查询。

PD 如果修改了任何内容,我正在使用 Oracle SQL Developer...

任何帮助将非常感激!谢谢!

标签: javasqldatabase

解决方案


推荐阅读