2013-07-16 94 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