2014-12-03 57 views
0

我有三個模型:類別,產品和品牌。類別是自引用。我想以分層方式獲取與每個類別關聯的名稱品牌任何幫助?類別(自引用),產品和品牌。如何獲取與每個類別關聯的品牌?

CREATE TABLE IF NOT EXISTS `Brand` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(100) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `Category` 
-- 

CREATE TABLE IF NOT EXISTS `Category` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `parent_id` int(11) DEFAULT NULL, 
    `name` varchar(34) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

-- -------------------------------------------------------- 

-- 
-- Table structure for table `Product` 
-- 

CREATE TABLE IF NOT EXISTS `Product` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `category_id` int(11) NOT NULL, 
    `brand_id` int(11) NOT NULL, 
    `name` varchar(100) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 

回答

0

Oracle提供了START WITH和CONNECT BY子句來處理層次結構。不幸的是,MySQL不支持這些條款。但是,您可以使用here提到的複雜查詢來做同樣的事情。

或者,您可以編寫業務邏輯來迭代類別表並獲取每個類別的產品。

相關問題