2016-06-07 80 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现在我想要所有苹果和其他类别的数据以及连接我只是了解基本连接我不知道该怎么做在这种情况下 –