如果我有一个简单的表,由一些 GUID
标记,如下所示(假设它只有这两列):
GUID
| parentGUID
如何找到一个无菌节点(或行),以便没有子节点将其 parentGUID
作为其 GUID
。假设“没有 child ”只是被标记为空。
这是我最初的尝试:
SELECT *
FROM dagr d1, dagr d2
WHERE d1.parentGUID = ''
AND d2.parentGUID != ''
AND d1.guid != d2.parentGUID
AND d1.guid != d2.guid
我的思考过程:将孤立列表(即没有父行的行)与非孤立列表(即有父行的行)进行比较。但老实说,这可能没有意义。
最佳答案
很难判断这是否是您所要求的,但如果您想在 dagr 中找到没有匹配行的行,您可以尝试 LEFT JOIN。对于您的目的而言,这可能有点晚了,但 Google 用户可能会发现它的一些用处。
SELECT d1.*
FROM dagr d1
LEFT JOIN dagr d2
ON d1.guid = d2.parentGUIDIS
WHERE d2.parentGUIDIS NULL
关于mysql - 如何在父子关系表中找到无菌节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20517057/