我需要創建新表,然後將某些表的某些列複製到新表中。第一張桌子的三列。第二張桌子的五列。第三張桌子的三列。第四張桌子的三列。將某些表中的某些列合併到一個新表中
表1中的列:eid(primary key),first name,last name,status
。
表2中的列:。
表三列:rid(primary key) , mid ,rvalue
。
表4中的列:rfid(primary key), mid, reference
。
我該怎麼做?
我需要創建新表,然後將某些表的某些列複製到新表中。第一張桌子的三列。第二張桌子的五列。第三張桌子的三列。第四張桌子的三列。將某些表中的某些列合併到一個新表中
表1中的列:eid(primary key),first name,last name,status
。
表2中的列:。
表三列:rid(primary key) , mid ,rvalue
。
表4中的列:rfid(primary key), mid, reference
。
我該怎麼做?
如果表是他們之間的關係,你可以直接在創建表作爲選擇使用..
create table your_table as
select
a.col1
, a.col2
, a.col3
, b.col1
, b.col2
, b.col3
, b.col5
, c.col1
, c.col2
, c.col3
, d.col1
, d.col2
, d.col3
from table1 a
inner join table2 b on a.key1 = b.key1
inner join table3 c on a.key1 = c.key1
inner join table4 d on a.key1 = d.key1
這direcly創建結果表從選擇
否則,你可以使用插入選擇
INSERT INTO new_table (field_1,field_2...field_n)
SELECT first_table.column_1
,first_table.column_2
,first_table.column_3
,second_table.column_1
,second_table.column_2
,second_table.column_3
,second_table.column_4
,second_table.column_5
,third_table.column_1
,third_table.column_2
,third_table.column_3
,fourth_table.column_1
,fourth_table.column_2
,fourth_table.column_3
FROM first_table
INNER JOIN second_table ON first_table.field_to_join = second_table.field_to_join
INNER JOIN third_table ON second_table.field_to_join = third_table.field_to_join
INNER JOIN fourth_table ON third_table.field_to_join = fourth_table.field_to_join
顯然,你需要調整您的查詢,您的加入/連接的類型和字段根據您的需要。
在(field_1,field_2...field_n)
你必須指出選擇查詢的輸出將會去的字段。
列並不重要。什麼*行*你會插入到新表中? –
每列哈瓦149行..我想要複製所有原料到新表中。 – hsi
然後只需使用INSERT INTO newtable(...)從舊錶中選擇任何東西。你如何識別「舊」表中的相應行? –