一句話查詢出指定節點的葉子記錄
資料庫中經常用外來鍵到本表的結構儲存樹狀資料。比如多級的行政區劃表中,【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
- expdp 匯出時指定節點
- 構造無限級樹並深度遍歷查詢指定節點
- 一句話得到中間值的多條記錄
- MySQL:非葉子節點指標MySql指標
- dom4j 根據xml節點路徑查詢節點,找到對應的目標節點下的子節點,對節點Text值進行修改XML
- js用字首名查詢class或id節點,js模糊查詢某個dom節點JS
- SQL查詢的:子查詢和多表查詢SQL
- MYSQL學習筆記26: 多表查詢|子查詢MySql筆記
- MYSQL學習筆記25: 多表查詢(子查詢)[標量子查詢,列子查詢]MySql筆記
- mysql 隨機查詢記錄MySql隨機
- 129 - 求根到葉子節點數字之和 - PythonPython
- Mysql語句查詢指定重複記錄和刪除重複記錄僅保留一條【親測可以】MySql
- 記如何在預載入中指定查詢的欄位
- 複雜查詢—子查詢
- Java中在二叉搜尋樹中查詢節點的父節點Java
- 【記錄】SSH分頁查詢功能
- 刷題系列 - 在二叉樹中查詢給出節點,並返回以該節點為根的樹二叉樹
- Laravel 框架使用 whereIn 查詢 SQL 時資料出錯記錄Laravel框架SQL
- leetcode129. 求根到葉子節點數字之和LeetCode
- SQL如何實現查詢節點依賴SQL
- 查詢SQL Server的歷史執行記錄SQLServer
- mysql 查詢記錄數大於一千萬的表MySql
- 查詢當天的系統訂單記錄
- MYsql 子查詢MySql
- MySQL子查詢MySql
- 子串查詢
- Mysql-基本練習(09-刪除單表記錄、查詢指定列資料、列的別名、簡單單表條件查詢、簡單分組查詢)MySql
- cmdb 查詢資料庫操作記錄資料庫
- MySQL函式查詢目錄樹問題記錄MySql函式
- 谷歌收錄批次查詢,教你批次查詢谷歌收錄的方法谷歌
- php一句話獲取獲取檔案目錄的方法PHP
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- 記錄一次遞迴查詢的運用遞迴
- openGauss-指定節點升級
- 一句SQL完成動態分級查詢SQL