樹無限深。例如:postgresql計數子女數
+----+-------+--------------------+
| id | name | parent_id | value |
+----+-------+--------------------+
| 1 | test1 | | 0 |
| 2 | test2 | 1 | 0 |
| 3 | test3 | 2 | 5 |
| 4 | test4 | 1 | 0 |
| 5 | test5 | 4 | 5 |
| 6 | test6 | 4 | 0 |
| 7 | test7 | 6 | 10 |
+----+-------+--------------------+
我想獲得一個孩子的總價值。 就像這樣:
+----+-------+--------------------+
| id | name | parent_id | value |
+----+-------+--------------------+
| 1 | test1 | | 20 | = test2.value + test4.value
| 2 | test2 | 1 | 5 | = test3.value
| 3 | test3 | 2 | 5 |
| 4 | test4 | 1 | 15 | = test5.value + test6.value
| 5 | test5 | 4 | 5 |
| 6 | test6 | 4 | 10 | = test7.value
| 7 | test7 | 6 | 10 |
+----+-------+--------------------+
有什麼建議嗎?謝謝!
不知道你需要休息,我不能說什麼明確的關於什麼是正確的模式是,但你的實現是樹木存儲在數據庫中一個非常原始的方法。一些設計模式已經被髮明出來,可以更輕鬆地做各種巧妙的事情,包括你問的問題。例如,查看物化路徑設計模式。請參閱http://www.rampant-books.com/book_0601_sql_coding_styles.htm或其他參考資料。 –
@ hims056:什麼不清楚?遵循'parent_id'鏈接並遞歸求和'count'值。 –
@ hims056第一張桌子是我的,第二張是我想要創建的視圖 – Danfi