2013-07-16 96 views
0

我有一個非常簡單的MySQL表,包含三個attributs,我們稱之爲word_tbl笛卡爾積單表

id | word |計數

我想將每行與表中的所有行組合起來,並將count值中的值相加。 結果應保存在名爲cartesian_tbl的新表中。 在我看來,cartesian_tbl應該看起來像這樣:

id | word1_id | word2_id |計數

我的理解問題是兩個word_id都是word_id.id的外鍵。

我的模式是正確的還是有一個更簡單的解決方案來達到我的目標? 謝謝你的幫助!


新:

這2個表只是一個例子...

這裏一個小例子組合應該如何工作 如果「你好」與ID 2已經算4和「示例「ID爲32已經計數5.新的數據行應該是這樣的 1,2,32,9

@FrancoisŤ 計數僅僅是一個數

你需要哪些附加信息?

+1

顯示您嘗試過的內容。我們還可以告訴你,如果你做得對嗎? – Barmar

+0

我什麼也沒試。我只想知道處理這種數據的這個模式是否正確。我必須將2個外鍵設置爲1個主鍵嗎?這是否允許? – Tinsu

+0

是的,您可以根據需要擁有儘可能多的外鍵。 – Barmar

回答

0

創建一個ID AUTO_INCREMENT

而且類似的東西的表:

,但你要到算什麼?

插入cartesian_tbl(world1_id,world2_id,count) select word1.id,word2.id,count ??? from word_tbl word1,word_tbl word

0
INSERT INTO cartesian_tbl (word1_id, word2_id, count) 
SELECT w1.id, w2.id, w1.count+w2.count 
FROM word_tbl w1 
JOIN word_tbl w2