如何将MySQL查询结果存储在另一个表中?

Tas*_*han 36 mysql sql database

如何将以下查询的结果存储到另一个表中.考虑到已经创建了一个合适的表.

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;
Run Code Online (Sandbox Code Playgroud)

小智 88

如果表不存在(并且您不想创建它,因为它可能有很多列名),您可以动态创建它...

查询:

CREATE TABLE another_table SELECT /* your query goes here */
Run Code Online (Sandbox Code Playgroud)

  • 这个是飞行创建表的绝佳方式,谢谢 (4认同)
  • 虽然OP确实表示该表已经创建,但这个答案非常适合那些不想单独创建新表来存储结果的人.保存一步. (2认同)

cod*_*ict 41

你可以使用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;
Run Code Online (Sandbox Code Playgroud)


tar*_*l05 9

如果你的桌子不存在那么

CREATE TABLE new_table SELECT //write your query here
Run Code Online (Sandbox Code Playgroud)

如果您的表存在,那么您只需插入查询

INSERT INTO new_table SELECT //write your query here
Run Code Online (Sandbox Code Playgroud)

有关此处此处的更多信息


You*_*nse 6

INSERT INTO another_table SELECT /*your query goes here*/
Run Code Online (Sandbox Code Playgroud)