WebSQL 选择 child + parent

WebSQL selecting child + parent

我正在尝试导出包含 child 的类别列表。 数据库的设计者使 parent 类别可以具有与 child

相同的 ID

所以查询应该 return 列表:

我试图在 1 个查询中执行此操作,因此我执行了以下操作:

SELECT DISTINCT c.*, pc.name as parentName 
FROM Category as c 
INNER JOIN Category as pc on c.parent_id = pc.id 
WHERE c.building_id = 1 
AND (
  c.parent_id = -1 
  OR (
    c.usingtemplate = 'true'
    AND 
    pc.parent_id = -1
  )
);

但是 parent 不在列表中

我这里有一个sqlfiddle:http://sqlfiddle.com/#!7/75dd9/83

执行 LEFT JOIN 成功了

SELECT DISTINCT c.*, pc.name as parentName 
FROM Category as c 
LEFT JOIN Category as pc on c.parent_id = pc.id 
WHERE c.building_id = 1 
AND (
  c.parent_id = -1 
  OR (
    c.usingtemplate = 'true'
    AND 
    pc.parent_id = -1
  )
);