我有一張表,其中包含以下方式相關的記錄:數據庫表中的嵌套數據
父母,子女,孫子女。
我想能夠運行查詢,做到以下幾點:
- 檢索是 從一個特定的記錄下來的所有記錄
- 檢索的特定記錄的直接 兒童的所有記錄 (即只直接孩子)
- 檢索的特定記錄的 孫子 (即只孫子)的所有記錄
- 檢索記錄的祖父母
- 檢索記錄
- 檢索所有的記錄(以及他們的 子女和孫子女)
我想這個查詢的排序方式返回數據的父母,所以我可以創建一個結構化的文件(例如來自查詢結果的XML)。通過「分類」,我的意思是結果集「分組」,由家長THEN孩子,那麼孫子
我設計了一個簡單的表像這樣的(僞代碼):
CREATE TABLE family_tree {id integer
, parent_id integer
, child_id integer
, fname varchar(16)
, lname varchar(32) };
我有多少問題:
(在心中的疑問我想運行軸承[(1) - (6)以上)是這是最好的(即最有效的表結構如果沒有我可以使用?,什麼是?
任何人都可以幫我編寫ANSI SQL語句來執行上面的查詢(1) - (6)嗎?
ID,parentId的應sufficiant。你使用SQL Server 2005 +? – 2009-09-28 10:07:36
搜索,以便像‘套組’和‘分層數據’,你會發現很多東西條款。 – markus 2009-09-28 10:10:01
您正在使用什麼數據庫?Oracle有分層查詢(CONNECT BY) – Thilo 2009-09-28 10:11:40