0
내가 2 레벨 메뉴 (부모와 자녀)를 retreive하는 MySQL의 요청을 할 노력하고있어 ...MySQL의 2 수준 MENU 쿼리
단 1 표는 물론,있다 :
idCategory | Title | idCategoryParent | DisplayOrder
1 | cat1 | NULL | 1
2 | sub-cat1 | 1 | 1
3 | sub-cat2 | 1 | 2
4 | cat2 | NULL | 2
5 | sub-cat3 | 4 | 1
6 | sub-cat4 | 4 | 2
7 | cat3 | NULL | 3
나는 그 결과를 찾고 있어요 : 그런
titleCat | titleSubCat | idCategory
cat1 | sub-cat1 | 1
cat1 | sub-cat2 | 1
cat2 | sub-cat3 | 4
cat2 | sub-cat4 | 4
cat3 | NULL | 7
또는 뭔가를 너무 잘 될 것입니다 :
cat1 | null | 1
cat1 | sub-cat1 | 1
cat1 | sub-cat2 | 1
etc..
나쁜 작동하지 않습니다
SELECT subcat.title as catTitle, cat.title as parentTitle, subcat.idCategory as catIdCategory, subcat.idCategoryParent
FROM `test_category` as cat
RIGHT OUTER JOIN test_category as subcat ON cat.idCategory=subcat.idCategoryParent
하지만 당신은 그것을 시도하려는 경우 여기
는 SQL 덤프의 ... 레코드를 주문하려고 고투 :내가 좋아하는 뭔가를 시도
--
-- Table structure for table `test_category`
--
CREATE TABLE IF NOT EXISTS `test_category` (
`idCategory` int(11) NOT NULL AUTO_INCREMENT,
`idCategoryParent` int(11) DEFAULT NULL,
`title` varchar(20) NOT NULL,
`order` int(11) NOT NULL,
PRIMARY KEY (`idCategory`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
--
-- Dumping data for table `test_category`
--
INSERT INTO `test_category` (`idCategory`, `idCategoryParent`, `title`, `order`) VALUES
(1, NULL, 'cat1', 1),
(2, 1, 'sub-cat1', 1),
(3, 1, 'sub-cat2', 2),
(4, NULL, 'cat2', 2),
(5, 4, 'sub-cat3', 1),
(6, 4, 'sub-cat4', 2),
(7, NULL, 'cat3', 3);
감사합니다. :)
"DisplayOrder"로 주문해야하지만 작동하는 것처럼 보입니다! 감사! :) – mrmuggles
아, 제목별로 정렬 된 것으로 보이는 예제 출력으로 가고있었습니다. –
np, 나는 그것에 대해 정말로 분명하지 않았다;) – mrmuggles