一句話查詢出指定節點的葉子記錄
資料庫中經常用外來鍵到本表的結構儲存樹狀資料。比如多級的行政區劃表中,【ParentID】外來鍵到本表的【ID】,要找到紐約州下所有的最基層行政區劃,早期的 SQL 沒有提供遞迴能力,這類查詢很難寫,尤其葉子記錄還可能處於不同的深度。
這種情況如果用集算器 SPL 語言就比較容易,從資料庫得到原始資料:
>T=connect(”mysqlDB”).query(“select * from T”)
然後用遞迴函式 nodes 的 @d 選項直接就得到了葉子記錄:
>T.switch(ParentID,T:ID),leaves=T.nodes@d(ParentId,T.select@1(name=="New York"))
除了遞迴處理資料庫裡的資料,遞迴處理資料夾裡的檔案,遞迴處理多層的 JSON 資料都很方便,在樹中遞迴的透過父找子 / 子找父也做了全面支援,請參考這篇文章裡的詳細介紹: 。
當資料不在資料庫裡時,SPL 載入資料仍然方便:
=file(“d:/t.csv”).import(;,",")
SPL能很方便地嵌入到JAVA應用,可參考 。
具體使用方法可參考 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2698559/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql根據節點查詢所有葉節點MySql
- [Mysql 查詢語句]——查詢指定記錄MySql
- MySQL遞迴查詢樹狀表的子節點、父節點MySql遞迴
- MySQL:非葉子節點指標MySql指標
- Linq to xml 查詢所有的子節點XML
- 資料庫——查詢樹形結構某節點的所有子節點、所有父節點資料庫
- MySQL實現樹狀所有子節點查詢的方法MySql
- 查詢指定目錄下所有子目錄的大小
- 構造無限級樹並深度遍歷查詢指定節點
- dom4j 根據xml節點路徑查詢節點,找到對應的目標節點下的子節點,對節點Text值進行修改XML
- 子查詢-表子查詢
- 129 - 求根到葉子節點數字之和 - PythonPython
- js用字首名查詢class或id節點,js模糊查詢某個dom節點JS
- 查詢鎖表記錄
- sqlserver查詢最接近的記錄SQLServer
- MYSQL學習筆記26: 多表查詢|子查詢MySql筆記
- SQL查詢的:子查詢和多表查詢SQL
- MYSQL學習筆記25: 多表查詢(子查詢)[標量子查詢,列子查詢]MySql筆記
- 二叉樹節點個數,葉子個數,第K層個數,最低公共節點二叉樹
- Mysql查詢調優記錄MySql
- 記錄 sql 查詢日誌SQL
- SQL重複記錄查詢SQL
- mysql 隨機查詢記錄MySql隨機
- leetcode129. 求根到葉子節點數字之和LeetCode
- 子查詢學習筆記1筆記
- 查詢匯入記錄的進度
- mysql的子查詢MySql
- 複雜查詢—子查詢
- Java中在二叉搜尋樹中查詢節點的父節點Java
- 為什麼二叉樹中葉子節點個數等於度為2的節點個數+1二叉樹
- 刷題系列 - 在二叉樹中查詢給出節點,並返回以該節點為根的樹二叉樹
- jquery獲取指定節點的第一級文字節點jQuery
- 【索引】Oracle查詢指定索引提高查詢效率索引Oracle
- Mysql語句查詢指定重複記錄和刪除重複記錄僅保留一條【親測可以】MySql
- SQL如何實現查詢節點依賴SQL
- 記如何在預載入中指定查詢的欄位
- MySQL 查詢所有表中的記錄數MySql
- 如何查詢DML操作的詳細記錄