我想有一个查询,将解决我的问题,在本机SQL。mysql group_concat一个表到另一个
我有一个名为“synonym”的表,它包含单词和单词“synonym”。
id, word, synonym
1, abandon, forsaken
2, abandon, desolate
...
正如你所看到的,在这张表中重复出现的词很多次,这使得表不必要的大。我想有一个表名为“单词”,它没有重复的单词,如:
id, word, synonyms
1, abandon, 234|90
...
注:“234”和“90”在这里是的id的离弃和荒凉的新创建的词表。
所以我已经创建了一个新的“单词”表中的单词字段在同义词表中的独特单词。我需要的是一个SQL查询,它将查看每个单词的同义词表的同义词表,然后从单词表中查找它们的ID并使用垂直行分隔的ID更新“同义词”字段。那么我将删除同义词表。
只是想:
UPDATE words SET synonyms= (vertical line seperated id's (id's from words table) of the words at the synonyms at synonym table)
我知道我必须使用GROUP_CONCAT但我无法实现这一点。
希望这已经够清楚了。谢谢您的帮助!
只是注意 - 这可能是有些难以辨认,如果2个字是与你提出的结构同义词。 – 2011-01-20 17:46:27
我想到了困难,但有了这个结构,我将使用爆炸得到的ID和内爆查询像“或ID ='1'或ID ='2'...”查询每个同义词。这对我更好。 – 2011-01-20 18:23:43