2011-10-05 41 views
0

我想從數據庫創建菜單結構。用於菜單結構的SQL腳本

例如,數據庫如下:

id name  parent 

1  x   null 

2  y   1 

3  z   null 

4  a   3 

5  b   2 

結果應該是:

-x 

--y 

---b 

-z 

--a 

現在,該算法我有心靈是以下幾點:1。 先找'parent'= null的列。 (我會稱之爲A列) 2.然後找到一個有'parent'= A的父親的列。 (我會叫這個B列) 3.然後找到一個有'parent'= B的父親的列。 等

WHILE (SELECT MenuText FROM dbo.Table2 WHERE parent = NULL) 
BEGIN 
    SELECT MenuText FROM dbo.Table2 WHERE parent = ... 
END 

好嗎?

+1

您使用的是什麼RDBMS /版本? –

+0

SqlExpress 2008. –

+0

你應該看看CTE(公用表表達式)。 –

回答

0

看起來像是tree query的候選人(我不知道Express Edition是否支持這個功能)。