簡化示例:SQL:按外鍵編號排序
我有一個名爲things
的SQL表。事情本身有一個id
和一個name
。事物是樹的一部分,例如一個事物可以有一個父母;到底如何存儲並不重要,然而重要的是可以從根節點到當前事物獲得事物id的列表。
我有另一張表,名爲properties
。屬性有thing_id
列,name
列和value
列。
我現在想爲目前的事情獲取所有屬性,按照thing_id排序的,按從根目錄到當前目錄的路徑的順序。
例如,如果當前的事情嵌套這樣的:Root(1) > Vehicle(4) > Car(2) > Hybrid(3)
,我希望的屬性列表與具有首先thing_id==1
屬性返回,接着是那些與thing_id == 4
,然後thing_id==2
最後thing_id==3
。
這怎麼用SQL來完成? (不使用N + 1選擇)
我使用的是Rails,我想要一個解決方案,至少可以在SQLite和MySQL2上工作。 – Qqwy