I was doing some SQL work today when I had a thought:
Boy I wish there was a way to create a table from a select query
I started in Navicat to see if it was possible. After find nothing I decided to google it all the while thinking in my head how I was going to create a script to do this if I couldn't find anything.
I found something. I was happy yet sad. Happy because I didn't have to take the time to create something. Sad because I didn't have to create the tool. It sounded like a fun project.
What did I find you ask?
The "Create Table as" statement.
CREATE TABLE [ IF NOT EXISTS ] new_table [ AS ] SELECT expressions FROM existing_tables [WHERE conditions];
The best part about it is the statement knows to go to the existing tables to get the column type, size etc. Such a tremendous time saver. I cannot believe in all my years of programming I never stumbled upon this type of statement.
Source: Tech on the Net