2016-06-07 109 views
-1

我有兩個表:加入在SQL服務器

  • 表A(ID,名稱,鏈接,輸入,CID)
  • 表B(ID,名稱,鏈接,ImagePath的,價錢,CID)

我的問題是,我想加入這兩個表上的ID

ID  Name  Type   CID 
1  Apple Category  0 
2  TV  Category  0 
3  Laptop Category  0 

的基地,在同一個表,蘋果電視和筆記本電腦的ID是被PAS sed子類別爲CID

ID  Name  Type    CID 
4  Macbook sub category  1 
5  iTV  sub category  2 
6  HP  sub category  3 

類別的ID在子類別中作爲CID在同一個表中。子類別的ID將被傳遞到子類別中相同的表作爲CID

ID  Name  Type    CID 
7  Applebook Child category  4 
8  TV MLT2  child category  5 
9  HP Mini  Child Category  6 

子類別的ID將被傳遞到表B中CID也就是7 8和9

我怎樣才能現在加入這些表,我應該搜索APPLE我應該有來自表a和B的蘋果的所有產品。我應該怎麼做,以ID爲基礎將B與A連接,然後根據ID和CID將子類別與子類別連接,然後再與主類別連接。我應該使用什麼加入?

我明白加入差不多我猜左內右外,但我不知道我應該怎麼做我的情況?我如何加入我的類別與子然後與孩子子,然後與ID的基礎表B中的孩子成爲在其他

+1

您應該編輯您的問題來包含您的實際表格和數據,以及您希望作爲輸出結果的明確示例。 –

+0

請顯示類別'Apple'的預期輸出。 –

回答

0

你只需要使用普通的CID加入幾次:

select 
    C.* 
from 
    yourtable a 
    join yourtable b on a.ID = b.CID 
    join yourtable c on b.ID = c.CID 
where 
    a.name = 'Apple' 
+0

幾次?讓我看看它是否有效 –

+0

如果在類別中可能存在任意深度級別,則需要遞歸CTE。 –

+0

這對我來說很讓人困惑,因爲我的'category'中的產品具有ID,而'categories'具有'sun類別'並且具有來自ID的CID,並且子類別的ID作爲CID和ID傳遞給子類別類別正在被傳遞到另一個表格作爲CID現在我想要所有蘋果和其他類別的數據以及連接我只是瞭解基本連接我不知道該怎麼做在這種情況下 –