【沫沫金】Sql查詢樹結構所有終極子節點
項目中,存在一張自由表單存儲表,即不固定列,也許是2列、3列、4列。但是倒數兩列是結果和備註,需要數據交互的地方。
動態表中,每一個單元格存儲一行,記錄父子關系。
需求
根據模板數據列,解析後存入數據結果表。
問題
結果行只有12行,動態表中有28行。如何甄選出結果單元格,進行存儲?
分析
動態表中,樹級終極子節點是12行,和模板數據行匹配。
技術點
怎麽一次性獲取樹級結構所有終極子節點。
源碼
select * from ITEM where id not in (select parentId from ITEM where parentId is not null)
就上面這句話,核心就是not in 簡單直接,父字段存在的排除掉,剩下的就是所有終極子節點,這個逆向思維絕對贊。
隨意加自己的條件,即可。
以上,謝謝!
【沫沫金】Sql查詢樹結構所有終極子節點
相關推薦
【沫沫金】Sql查詢樹結構所有終極子節點
where 分享 逆向 code 自由 存儲 思維 數據 sql查詢 背景 項目中,存在一張自由表單存儲表,即不固定列,也許是2列、3列、4列。但是倒數兩列是結果和備註,需要數據交互的地方。 動態表中,每一個單元格存儲一行,記錄父子關系。 需求 根據模板數據列,解析後存入數
SQL Server 查詢樹結構的表首節點和尾節點案例
一.建立表 DECLARE @t Table(id CHAR(1),parentId CHAR(1)) INSERT INTO @t values('a','') INSERT INTO @t values('b','a') INSERT INTO @t values('c','b') INSE
【前綴思想】二叉樹中所有距離為 K 的結點
right 前綴 amp add ger integer 思想 length 簡單 863. 二叉樹中所有距離為 K 的結點 class Solution { Map<TreeNode,String>map=new HashMap<>
【沫沫金】Sql子查詢Not In 無結果原因
空值 blog mar 執行 sel ges 期望 ima 數值 背景源碼 select * from ITEM where item_id not in (select parent_item_id from ITEM ) 查詢效果 無任何匹配值。。。 原因 not in
【mysql優化五】——sql語句優化查詢
前言 上篇講解了索引搜尋優化,其實索引只是sql查詢優化的一部分,本篇主要講解的是sql優化主要要優化的部分! 內容 一.order by 優化 orderby最好使用index排序方式,避免使
【資料庫SQL】SQL查詢和替換含有回車,空格,TAB,等
---如下是查詢語句 --查詢名稱有退格鍵 select * from t_bd_item_info where charindex(char(8),item_name) > 0 go --查詢名稱有製表符tab select * from t_bd_item_i
【演算法和資料結構】平衡查詢樹之B樹
以B-樹的效能總是等價於二分查詢(與M值無關),也就沒有B樹平衡的問題;由於M/2的限制,在插入結點時,如果結點已滿,需要將結點分裂為兩個各佔M/2的結點;刪除結點時,需將兩個不足M/2的兄弟結點合併。 下面簡單說明分裂: 下面對B-樹進行實現 #pragma once //3階B樹 tem
【算法模板】二叉樹
treenode tor bsp res stack ack 算法 == oid 模板: 1.先序遍歷三種方法 1)叠代: class Solution { public: /** * @param root: The root of binary tr
【LeetCode刷題】SQL-Combine Two Tables
介紹 左關聯查詢 col 每一個 cit http sid combine sql查詢 Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ |
【Python算法】圖與樹的實現
com 遍歷 alt self. als .com 字典 分享 def 鄰接列表及其類似結構 對於圖結構的實現來說,最直觀的方式之一就是使用鄰接列表。下面我們來實現一個最簡單的:假設現在我們有n個節點,編號分別為0,...,n-1。 然後,每個鄰接列表就是一個數
【2018-01-19】Sql Server-觸發器
1-1 觸發器 eight sco 不能 val ted 直接 ins 1 --create table users--創建用戶表 2 --( 3 -- ids int primary key identity(1,1), 4 -- name nvar
【2018-01-19】Sql Server-視圖,事務
user from 增刪 span 影響 score 允許 gin 事務 ----視圖增刪改操作不影響基礎表 ----視圖不允許出現重復列 create view haha--創建視圖 as select student.*,Score.Cno,Score.Degre
Django 【第二十三篇】優化查詢
所有 一次 inf app related 方式 del filter model 一、假設有三張表 Room id 1 2 .. 1000 User: id 1 .. 10000
Sql查詢樹狀結構下級子節點的數量
leave SQ 樹狀 div where AR light bsp brush --查詢Id為1的所有子節點層數的數量;with cte as ( select id,parentId,0 as Leave from _TestLeave where id = 1 -
劍指offer——python【第38題】二叉樹的深度
描述 sub pan 節點 solution class oot 返回值 self. 題目描述 輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的長度為樹的深度。 解題思路 想了很久。。首先本渣渣就不太理解遞歸在pyt
【劍指offer】二叉樹的下一個節點
給出一棵二叉樹和一個節點,求中序遍歷序列的下一個節點。二叉樹結構是給出了左右節點以及父節點的。 首先分析中序遍歷,中序遍歷即左父右的順序遍歷樹。 分析規律: (1)節點存在右節點 if(p->right) 則不斷檢查p->right是否還有左節點,若沒有左節點了,該節點即
【劍指offer】二叉樹中和為某一值的路徑【python】
題目描述 輸入一顆二叉樹的跟節點和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。(注意: 在返回值的list中,陣列長度大的陣列靠前) 思路: 暴力遍歷二叉樹每一個節點,採用遞歸回溯的思想。建立一個全域性的re
【劍指offer】二叉樹的鏡像
oot node 二叉樹 item 題目 左右子樹 font 交換 bottom 題目描述 操作給定的二叉樹,將其變換為源二叉樹的鏡像。 輸入描述: 二叉樹的鏡像定義:源二叉樹 8 / 6 10 / \
【洛谷P1122】最大子樹和
return ons == += dig 題解 edge const tin 題目大意:給定一棵 N 個節點的無根樹,點有點權,點權有正有負,求這棵樹的聯通塊的最大權值之和是多少。 題解:設 \(dp[i]\) 表示以 i 為根節點的最大子樹和,那麽只要子樹的 dp 值大於
【劍指Offer】二叉樹的下一個結點
題目描述:給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指標。 解題思路: 解題的時候要將情況考慮清楚,(1) 若一個結點有右子樹,那麼下一個結點就是右子樹中的最左子結點。 (2) 若沒有右子樹,則向上