我有層次列其中包括用冒號分隔的數字,以及當前節點的數量和它的父表:獲取缺少層次柱節點
id = '3:234:657:978'
currNode = 978
parent = 657
我也有一個查詢返回的ID還有其他一些列,但其中一些鏈接丟失,例如返回2行,一個ID爲3:234
,另一個ID爲3:234:567:890
。我需要與3:234:567
id行以形成一個層次結構,但它沒有返回。
我該如何加入表格,以便我找到缺少的節點(除id以外的字段爲NULL),但只有缺失的節點(不包括那些不需要形成層次結構的節點,例如,返回的結果)?
編輯: 樣本數據:
CREATE TABLE ids (
id VARCHAR(100)
, currNode INT PRIMARY KEY
, parent INT
, name VARCHAR(50)
);
CREATE TABLE someotherdata (
data VARCHAR(10)
, currnode INT
);
INSERT ALL
INTO ids(id, currnode, parent, name)
VALUES('3', 3, NULL, 'Node1')
INTO ids(id, currnode, parent, name)
VALUES('3:4', 4, 3, 'Node2')
INTO ids(id, currnode, parent, name)
VALUES('3:4:5', 5, 4, 'Node3')
INTO ids(id, currnode, parent, name)
VALUES('3:4:5:6', 6, 5, 'Node4')
INTO ids(id, currnode, parent, name)
VALUES('3:4:5:6:7', 7, 6, 'Node5')
SELECT * FROM dual; COMMIT;
INSERT ALL
INTO someotherdata (name, id)
VALUES('data1', '3:4')
INTO someotherdata (name, id)
VALUES('data2', '3:4:5:6')
SELECT * FROM dual; COMMIT;
期望的結果(ID給定爲參數於該查詢,在這裏它等於 '3'):
id name data
3 Node1 NULL
3:4 Node2 data1
3:4:5 Node3 NULL
3:4:5:6 Node4 data2
(3:4: 5:6:7被排除在結果之外,因爲不需要用返回數據的記錄來形成層次結構)
你可以提供一些數據樣本,你的輸出和請求輸出?如果沒有它們,它有點難以理解。 –