Sql查询(自连接)

Sql查询(自连接),sql,oracle,Sql,Oracle,我是这个论坛的新成员,我想知道是否有可能快速获得有关创建与Oracle环境相关的SQL查询的帮助 例如,我有以下查询: SELECT table3.numero FROM table1 table1 INNER JOIN table2 ON table2.id = table1.tbl1_id INNER JOIN table3 ON table3.id = table2.tbl2_id; 我想添加一个新条件,根据表1中名为options的字段的值,在select(tabl

我是这个论坛的新成员,我想知道是否有可能快速获得有关创建与Oracle环境相关的SQL查询的帮助

例如,我有以下查询:

SELECT table3.numero 
FROM table1 table1
    INNER JOIN table2 ON table2.id = table1.tbl1_id 
    INNER JOIN table3 ON table3.id = table2.tbl2_id;
我想添加一个新条件,根据表1中名为options的字段的值,在select(table3.numero)中显示相同的字段

选项字段包含混合值(null和table1.id)。这些值之间存在联系。选项字段中的Table1.id表示值为null的记录的Table1.id。我们可以认为,具有空值的记录是具有不同于NULL的值的记录的父。 所以,我的问题是,是否可以添加select ANTER table3.NUMEO,它将表示父记录的值和另一个表示子记录的值

我不知道该怎么做这个查询

谢谢你的帮助

表1的测试数据

id      options
------  -------
151515  151516
151516
151517
151518  151517
表3

numero 
------ 
4333
2452
4245
1121 
table3.numero(父项=table1.option为空)

表3.numero(子项=>表1.option)


我想我明白你的意思。我制作了一些你所拥有的东西的样本

表1

id      options
151515  151516
151516  
151517  
151518  151517
表3

id      numero
151515  8789
151516  8844
151517  5515
151518  5454
结果

id      numero  parent  child
151515  8789    8844    8789
151518  5454    5515    5454
使用的查询

SELECT T3.ID,T3.NUMERO,T3_PARENT.NUMERO PARENT,T3.NUMERO CHILD
FROM TABLE1 T1
JOIN TABLE3 T3 ON T1.ID=T3.ID AND T1.OPTIONS IS NOT NULL
JOIN TABLE3 T3_PARENT ON T3_PARENT.ID=T1.OPTIONS

添加一些示例数据,您的要求并不明确。简短的回答是,这是最有可能的,但您需要更精确。显示数据示例和所需输出示例如此查询例如:从table1 table1中选择table3.numeo、table3.numeo(父项)、table3.numeo(子项)在table12.id=table1.id和table1.options为null(父项)和table1.options=table1.id(包含父项记录的id)我不知道我是否需要在from级别或select级别添加子查询?很抱歉,因为我没有示例数据。非常感谢hewills。我想这就是我想做的。我打算明天早上试试,如果它能给我预期的结果,我会和你保持联系。
id      numero  parent  child
151515  8789    8844    8789
151518  5454    5515    5454
SELECT T3.ID,T3.NUMERO,T3_PARENT.NUMERO PARENT,T3.NUMERO CHILD
FROM TABLE1 T1
JOIN TABLE3 T3 ON T1.ID=T3.ID AND T1.OPTIONS IS NOT NULL
JOIN TABLE3 T3_PARENT ON T3_PARENT.ID=T1.OPTIONS