我有一个包含3列的简单表
PageDescription(varchar(50)) | ParentID (int) | CategoryID (int)
这是表格数据
Fruit||1 Apples|1|2
这是我正在运行的查询
SELECT PageDescription,(SELECT PageDescription
FROM tblpages a
WHERE a.ParentID = tblpages.CategoryID)
AS 'Page Parent'
FROM tblpages
此查询不会停止处理,是否有更好的方法来处理此查询?
答案 0 :(得分:1)
您可以使用JOIN
执行此操作:
SELECT t1.PageDescription
, t2.PageDescription as PageParent
FROM t t1
LEFT JOIN t t2
on t1.ParentId = t2.CategoryId
使用LEFT JOIN
将允许您包含具有空值的项目。
答案 1 :(得分:0)
您需要的是加入。
SELECT a.PageDescription, b.PageDescription as Parent
FROM tblpages a
LEFT JOIN tblpages b ON a.CategoryID = b.ParentID
答案 2 :(得分:0)
尝试命名两个表:
SELECT b.PageDescription,(SELECT PageDescription
FROM tblpages a
WHERE a.ParentID = b.CategoryID)
AS 'Page Parent'
FROM tblpages b
答案 3 :(得分:0)
SELECT p.PageDescription,p1.PageDescription
FROM tblpages p1
LEFT JOIN p2 on p1.parentId=p2.categoryID
WHERE 1;