我正在获取树中所有节点的祖父母,如下所示:
SELECT P.id, P.parent, GP.parent gp_id FROM product_groups P
INNER JOIN product_groups GP ON P.parent = GP.id
Run Code Online (Sandbox Code Playgroud)
id=0表中没有条目 with ,但有一些 where parent=0,表示树的根。此查询不会获取这些行,因为没有祖父母可以加入它们。我希望返回这些行,同时使用0(or NULL)parent和gp_id。
我打算用 到UNION第二个表(0,0),但无法弄清楚语法。这该怎么做?
只需做一个LEFT JOIN:
SELECT P.id, P.parent, GP.parent gp_id FROM product_groups P
LEFT JOIN product_groups GP ON P.parent = GP.id
Run Code Online (Sandbox Code Playgroud)
这将返回所有行,P并且任何不匹配的行都GP将具有NULL值。
| 归档时间: |
|
| 查看次数: |
69666 次 |
| 最近记录: |