笛卡尔积单表

时间:2013-07-16 09:11:20

标签: mysql sql cartesian-product

我有一个非常简单的MySQL表,有三个attributs,我们称之为word_tbl

id |字|计数

我希望将每一行与表中的所有行组合在一起,并将该值与count相加。 结果应保存在名为cartesian_tbl的新表中。 在我看来,cartesian_tbl应该如下所示:

id | word1_id | word2_id |计数

我的理解问题是两个word_id,它们都是word_id.id的外键。

我的架构是否正确或是否有更简单的解决方案来达到我的目标? 谢谢你的帮助!


新:

这两个表只是一个例子......

这里有一个小例子,组合应该如何运作 如果id为2的“Hello”计数为4,而id为32的“Example”计数为5.新的Datarow应如下所示 1,2,3,9,9

@Francois T. count只是一个数字

您需要哪些其他信息?

2 个答案:

答案 0 :(得分:0)

创建一个id为auto_increment

的表

类似的东西:

但你想要算什么呢?

插入cartesian_tbl(world1_id,world2_id,count) 选择word1.id,word2.id,count ???来自word_tbl word1,word_tbl word

答案 1 :(得分: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