2010-04-23 87 views
31

如何将以下查询的结果存储到另一个表中。考虑到已经创建了适当的表格。如何将MySQL查询结果存储在另一个表中?

SELECT labels.label,shortabstracts.ShortAbstract,images.LinkToImage,types.Type 
FROM ner.images,ner.labels,ner.shortabstracts,ner.types 
WHERE 
    labels.Resource=images.Resource 
    AND labels.Resource=shortabstracts.Resource 
    AND labels.Resource=types.Resource; 

回答

35

可以使用INSERT INTO TABLE SELECT ....语法:

INSERT INTO new_table_name 
SELECT labels.label,shortabstracts.ShortAbstract,images.LinkToImage,types.Type 
FROM ner.images,ner.labels,ner.shortabstracts,ner.types 
WHERE labels.Resource=images.Resource AND labels.Resource=shortabstracts.Resource 
AND labels.Resource=types.Resource; 
6
INSERT INTO another_table SELECT /*your query goes here*/ 
68

如果表不存在(你如不想创建它,因为它可能有大量的列名称),您可以在飞行中创建它...

CREATE TABLE another_table SELECT/您的查询是在这里/

+3

这一个是真棒方式创建一张桌子,谢谢 – 2014-11-29 07:20:36

+2

虽然OP确实说过表格已经创建好了,但对于那些不想单独创建一个新表格来存储结果的人来说,这个答案是完美的。保存一个步骤。 – user766353 2015-11-10 17:43:53

5

如果那么你的表这么想的存在

CREATE TABLE new_table SELECT //write your query here 

如果表中存在,那么你可以插入查询

INSERT INTO new_table SELECT //write your query here 

详细检查herehere

相关问题