簡體   English   中英

SQL查詢兩個表中的父子數據

[英]SQL Query for Parent Child Data from two table

我有2張桌子,一張桌子是“課程類別”,第二張是“課程”

在課程類別表中

以下數據存儲:

CategoryId | 名稱

1 | 馬華

2 | 工商管理碩士

在課程表中

以下數據存儲:

ID | 姓名| CategoryId | ParentId

1 | Asp.Net | 1 | 0

2 | C#| 1 | 1個

3 | 財務| 2 | 0

我想要跟隨輸出

ID | 姓名| 父級

1 | MCA | 0

2 | 工商管理碩士 0

3 | Asp.Net | 1個

4 | C#| 3

5 | 財務| 2

我是否必須使用嵌套查詢還是應該將兩個表與外鍵和主鍵相關聯還是應該進行任何映射。如果沒有給我解決方案,請執行此操作。

提前致謝

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

我假設您只有一個孩子級別(沒有像parent <-child <-child這樣的情況)

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

這並不完全是您想要的結果,但是應該通過技巧來顯示您想要的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM