MySQL: Creating a new table with information from a query

Saikios picture Saikios · Jul 6, 2011 · Viewed 89.7k times · Source

In MySQL, I would like to create a new table with all the information in this query:

select * into consultaa2 from SELECT
 CONCAT(    'UPDATE customers SET
 customers_default_address_id= ',    
 (SELECT a.address_book_id FROM
 address_book a where
 c.customers_id=a.customers_id order by
 address_book_id desc limit 1),    '
 WHERE customers_id = ', customers_id,
 ';') AS sql_statement FROM customers c
 where c.customers_id > 3894;

The query is too long for the browser to show the concat and I need this to make this updates.

Answer

Daniel Hilgarth picture Daniel Hilgarth · Jul 6, 2011

You can do it like this:

CREATE TABLE tablename SELECT * FROM othertable;

tablename is the name of the new table you want to create, SELECT * FROM othertable is the query that returns the data the table should be created from.