2014-12-03 13 views
0

我正在嘗試爲MLM(多級市場營銷)創建表,但我在創建表時遇到問題。如何創建MLM表設計

CREATE TABLE `mlmpair_tbl` (
    `parentid` INT(11) NOT NULL, 
    `left` INT(11) NOT NULL, 
    `right` INT(11) NOT NULL, 
    `pairamount` DECIMAL(10,2) NOT NULL 
) 
COLLATE='latin1_swedish_ci' 
ENGINE=InnoDB 

我不知道我是否在正確的軌道上。要求非常簡單,如果成員有左右節點,那麼他會得到一些分數,並且他的父母節點也會得到一些分數。

我希望有人能夠指導我或給我一些指點。

增加了一些數據:

parentid   left  right  amount 
11     12     0.00 
12     13   14   1000.00 
13     15   16   1000.00 

第二行有左,右所以他的parentid 12將獲得一些積分例子1000.00,那麼11是12的parentid所以PARENTID 11也將被給予一些皮條。 在第三排parentid 13已經完成了左右節點,所以他會給予積分,然後他的父母都是12,11會得到一些積分也是1000.00。

這就是我想要實現的。

預先感謝您。

+0

你的創建語句是好的:http://www.sqlfiddle.com/#!2/53bdd。 – 2014-12-03 02:52:28

+0

但我很困惑如何更新數額,如果有行左右完成他的父母身份。 – ashTon 2014-12-03 02:55:33

+0

最有可能這是某種樹節點父親無限深度結構的孩子。男人,這將是一個嘗試匹配配對節點的痛苦,除非你找到一個算法。 – Ghost 2014-12-03 02:59:38

回答

0

看來你需要有一個'金額'的正確定義來解決這個問題。但是,一旦你有如何計算它的方法,可能你意識到用一個過程來計算它是一個更好的主意,而不是將它的值存儲在表中。然而,它出現了一些性能問題等,所以這取決於你的目的...