我在創建SQL查詢以顯示一個表中的類別和子類別方面遇到了很多麻煩。我有以下欄目:按順序顯示類別和子類別
category_id
category_name
category_parent
category_order
基本上我想產生的結果是這樣的
parent category 1
sub category 1
sub category 2
parent category 2
sub category 1
sub category 2
sub category 3
parent category 3
sub category 1
如果category_order設置爲0,類別或子類別應進行排序依據他們創建的順序。爲此,我計劃按ID排序。
如果可能我想使用一個聯合,以便他們已經在秩序,我只需要循環。任何人都可以幫我建立一個查詢。
其實我已經有一個使用JOIN,但結果並不像我想要的那樣精確。
這是我以前的查詢:
SELECT
fcat.id fcat_id,
fcat.name fcat_name,
fcat.order fcat_order,
fcat.parent fcat_parent,
fsub.id fsub_id,
fsub.name fsub_name,
fsub.order fsub_order,
fsub.parent fsub_parent
FROM forum_categories AS fcat
LEFT OUTER JOIN forum_categories AS fsub ON fcat.id = fsub.parent
ORDER BY ISNULL(fcat.order) ASC, fcat.id ASC, ISNULL(fsub.order) ASC, fsub.id ASC
但是,它並沒有在子類,因爲父類別和子類別排序加盟。我的查詢只對父項進行排序。
你可以發佈你的連接查詢?它有什麼問題? –
樹的深度僅限於2,如你的例子? – TMS
而且,樹的深度有限嗎? – TMS