2014-09-25 71 views
1

我有以下查詢,因爲我需要它,其工作原理,但我也想在另一列這將需要添加自定義的ParentCategoryID的名字,因爲是ParentCategory名字沒有列。我能得到的唯一方法是引用從t.ParenCategoryID中檢索到的CategoryID。 CategoryID和ParentCategoryID位於同一個表中。這可以完成一個子查詢嗎?SQL自定義列

SELECT c.ContentID 
    ,c.Title 
    ,t.CategoryID 
    ,t.Name 
    ,t.ParentCategoryID 
FROM Content c 
INNER JOIN ContentCategory g ON c.ContentID = g.ContentID 
RIGHT JOIN Category t ON g.CategoryID = t.CategoryID 
ORDER BY g.CategoryID 

在此先感謝。

回答

3
SELECT c.ContentID 
     ,c.Title 
     ,t.CategoryID 
     ,t.Name 
     ,t.ParentCategoryID 
     ,tc.Name AS ParentCategoryName 
FROM Content c 
     INNER JOIN ContentCategory g 
      ON c.ContentID = g.ContentID 
     RIGHT JOIN Category t 
      ON g.CategoryID = t.CategoryID 
     LEFT JOIN Category tc 
      ON t.CategoryID = tc.ParentCategoryID 
ORDER BY g.CategoryID 
+1

看到INNER ... RIGHT ... LEFT很迷惑。 – 2014-09-25 15:00:58

+0

謝謝。父類別名稱的名稱結果不匹配,但我認爲這是我最初查詢的副產品。我做了一個類似的查詢使用不同的表,它工作正常。 – 2014-09-25 16:53:20