2012-06-15 50 views
0

我有12代表與該2個字段:MySQL的:合併不同的表成一個大表

  • 代碼(VARCHAR主鍵)和文本(VARCHAR)

每個表已經有1055個條目(所有表格都有相同的數量)

我需要創建一個新的表格,其中包含以下字段:

  • ID(INT PK),字段-1字段-2,... 字段2

每個字段-N將具有的內容其中一個表格的文字字段。我不需要這些表中的代碼字段。

所以,在最後,這個新的大表應該有1055項,與ID場會從1到1055,和其餘字段(字段1字段2等)存儲我現在擁有的12個表格的文本字段中保存的值。

我該如何做到這一點?我一直在嘗試一段時間,但我找不到正確的方法來做到這一點。

任何幫助將不勝感激!

+0

你如何匹配來自table1的文本字段與來自table2的文本字段?他們有相同的代碼? – Sebas

+0

否,12個表中的代碼字段不同。我現在想要的新的「大」表是空的,我只想填充它與12個表的內容 – Albert

+1

該表設計非常糟糕,爲什麼你需要12個表都具有相同的屬性? – ewein

回答

0

我不知道我是否理解你的問題,但我只是寫一個循環,將每個表的每一行插入到新創建的表中。

像這樣的事情

CREATE TABLE newTable 
(
code int NOT NULL AUTO_INCREMENT, 
text varchar(255), 
PRIMARY KEY (code) 
) 

//這樣做對每個表:

SELECT text FROM table1; 

for(int i = 0; i < dataSet.size; i++) 
{ 
    INSERT INTO newTable (text) VALUES (row(i).value) 
} 
+0

如果我正確理解他,你的答案缺少一半的要求,他需要動態地添加他指的1055個不同的列。 – GDP

+1

我認爲他有12個表,每列有2列 - column1 = Code和column2 = text。如果您創建一個表並將代碼設置爲自動增量的主鍵,然後從12個表中選擇所有條目並將它們插入到新表中,則自動增量將動態擴展該表,並且他不會說明任何有關該順序的內容的文本字段,所以它應該工作正常。最後你會得到一個有1055個元組的表。 – ewein

+0

你可能是對的,對不起......他還有一個關於增加1000萬列的問題,所以我可能會混淆這兩個問題。 – GDP

0

所以我最後決定做的就是下載這些表格Excel的所有信息,創建全新的Excel結構和價值觀,並將這個新的Excel作爲CSV上傳。現在我有我想要的東西!可能不是最好的方法,但它並沒有花費那麼長時間和工作:)

+0

以及如果你不想使用代碼的工作。 – ewein