0
我已經習慣了使用嵌套組在mysql和檢索我通常會使用以下的單一路徑:嵌套組DB2檢索單一路徑
SELECT node.treeID,
node.name,
node.lft,
node.rgt,
(COUNT(parent.name) - (sub_tree.depth + 1)) AS depth
FROM docsTree AS node,
docsTree AS parent,
docsTree AS sub_parent,
(SELECT node.name,
(COUNT(parent.name) - 1) AS depth
FROM docsTree AS node,
docsTree AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt
AND node.treeID = :requestedNode
GROUP BY node.treeID,
node.name,
node.lft,
node.rgt
ORDER BY node.lft)AS sub_tree
WHERE node.lft BETWEEN parent.lft AND parent.rgt
AND node.lft BETWEEN sub_parent.lft AND sub_parent.rgt
AND sub_parent.name = sub_tree.name
GROUP BY node.treeID,
node.name,
node.lft,
node.rgt HAVING depth = 1
ORDER BY node.lft
現在我有一個需要做DB2中的相同但上面的查詢給我以下錯誤:
錯誤:SELECT或HAVING子句中的列引用無效, ,因爲它不是分組列;或GROUP BY子句中的列引用 無效。
[SQL0122]列 SELECT列表中的DEPTH或表達式無效。 錯誤代碼:-122
如何從db2返回嵌套的設置路徑?
我與修改後的集團同樣的錯誤BY – Early73
我是這麼認爲的。我很好奇當你刪除having子句時會發生什麼,你會得到相同的語法錯誤嗎? – dougEfresh
是的,我剛剛嘗試過,並且刪除了having子句時出現同樣的錯誤。 – Early73