這個問題已經問過了,但這并不能解決我的問題。
我有一個表如下表名給出categories,這里parent并child插入相同的表。我想獲取父項下的所有子類別。
我的表:
categoryId categoryName categorytype parentCategoryId status
1 cars 0 0 1
2 honda city 1 1 1
3 Medical 0 0 1
4 Cancer 1 4 1
5 bmw 1 1 1
所以我想獲取這樣的資料輸出:
categoryId categoryName parentCategoryId
1 cars 0
2 honda city 1
5 bmw 1
3 Medical 0
4 Cancer 4
我要做的car是parent在此之下列出所有汽車的名稱。
這是我試過的查詢:
SELECT * FROM categories c1 left join categories c2 on c2.categoryId = c1.parentCategoryId;
uj5u.com熱心網友回復:
這個可以用
SELECT c1.*
FROM categories c1
LEFT JOIN categories c2 on c2.categoryId = c1.parentCategoryId
ORDER BY COALESCE(c2.categoryId, c1.categoryId), c1.categoryId
編輯
如果根類別是固定的0,則無需JOIN
SELECT *
FROM categories
ORDER BY CASE WHEN parentCategoryId = 0 THEN categoryId ELSE parentCategoryId END, categoryId
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/368474.html
上一篇:PHP問題:位置編號顯示不正確
下一篇:Laravel檢查點擊了哪個按鈕
