Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to store MySQL query results in another Table?

How to store results from following query into another table. Considering there is an appropriate table already created.

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; 
like image 517
Tasawer Khan Avatar asked Apr 23 '10 12:04

Tasawer Khan


People also ask

How can we store data from one table to another table in MySQL?

The SQL INSERT INTO SELECT Statement The INSERT INTO SELECT statement copies data from one table and inserts it into another table. The INSERT INTO SELECT statement requires that the data types in source and target tables match. Note: The existing records in the target table are unaffected.

How can I use one SQL query result in another?

Use the results of a query as a field in another query. You can use a subquery as a field alias. Use a subquery as a field alias when you want to use the subquery results as a field in your main query. Note: A subquery that you use as a field alias cannot return more than one field.


2 Answers

If the table doesn't exist (and you e.g. don't want to create it because it may have lots of column names) you can create it on the fly...

Query:

CREATE TABLE another_table SELECT /* your query goes here */ 
like image 110
phatrick Avatar answered Sep 29 '22 00:09

phatrick


You can use the INSERT INTO TABLE SELECT....syntax:

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; 
like image 28
codaddict Avatar answered Sep 29 '22 00:09

codaddict