Sql查询(自连接)
我是这个论坛的新成员,我想知道是否有可能快速获得有关创建与Oracle环境相关的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
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