2014-05-20 73 views
0

我有2個表中的一個表是課程類別和第二當然是SQL查詢親子數據從兩個表

在課程表類

隨着數據存儲:

的CategoryId |名稱

1 | MCA

2 | MBA

在課程表

隨着數據存儲:

ID |名稱| CategoryId | ParentId

1 | Asp.Net | 1 | 0

2 | C#| 1 | 1

3 |財務| 2 | 0

我想要下面的輸出

Id |名稱|父

1 | MCA | 0

2 | MBA | 0

3 | Asp.Net | 1

4 | C#| 3

5 |財務| 2

是否我必須使用嵌套查詢,或者我應該使用外鍵和主鍵關聯兩個表或任何映射應該done.if不給我一個解決方案來做到這一點。

在此先感謝

+0

如何計算此父數?你的數據庫是哪個? – TechDo

+0

我想顯示這樣的數據,如MCA - > Asp.Net - > C#&MBA - >金融 – user3090790

回答

0
select rownum as id, name, 0 as parent 
from Category 
union all 
select rownum, name, id 
from course 
+1

你應該簡短地解釋一下查詢實際做了什麼。 –

0

我假設你只有一個孩子的水平(沒有的情況下比如父母<柴爾德<柴爾德)

select c.id, t.name, parent.name, c.name from course c 
join category t on c.categoryId = t.id 
left join (select c2.id, c2.name from course c2) parent on c.parentId = parent.id 

這應該給你喜歡的東西

 
id |categoryname |parentname |coursename 
1 |MCA   |null  |Asp.Net 
2 |MCA   |Asp.Net  |C# 
3 |MBA   |null  |Finance 

這不完全是你想要的結果,但應該做伎倆來顯示你想要的。