来自另一个查询列值的SQL自定义列

时间:2014-09-25 14:50:11

标签: sql sql-server tsql

我有下面的查询,因为我需要它,但我也想在另一列中添加ParentCategoryID的名称,这需要自定义,因为没有ParentCategory名称的列。我能得到的唯一方法是引用我从t.ParenCategoryID中检索到的CategoryID。 CategoryID和ParentCategoryID在同一个表中。这可以完成一个子查询吗?

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

提前致谢。

1 个答案:

答案 0 :(得分: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