您好我需要對重複數據的MySQL表進行一些反規範化操作。如何重複mysql數據的非規範化?
我的「出版物」表目前是這種格式:
Publications Source Table
| title | author
--------------------------------------------
| my paper | michael
| my paper | bill
| my paper | jill
| other paper | tom
| other paper | amy
| third paper | ben
| third paper | sophie
我需要將其更改爲以下格式:
Publications Destination Table
| title | author | author2 | author 3
|-----------------------------------------------------------------
| my paper | michael | bill | jill
| other paper | tom | amy |
| third paper | ben | sophie |
現在,只爲您的信息,我需要做,所以我最終可以獲得一個CSV文件,以便將數據從舊系統導出到需要此格式的CSV文件的新系統中。
表中還有許多其他字段和源表中大約60,000行,但只有大約15,000個唯一標題。在源表中,每個作者有一行。在目的地,標題將是一個唯一的標識符。每個唯一的出版物標題需要一行。另外,我可以預先計算出任何一個出版物中作者的數量最多,如果這使問題更容易。
如何在MySQL中執行此操作?謝謝
您的谷歌搜索字符串是'mysql pivot query' –
上面的第一個表格設計比您想要創建的表格更好,但仍然需要工作。我希望發佈表只包含標題和發佈只能有一個值的任何其他信息。然後爲發佈可能具有多個值的每條信息單獨列出一張表。 – CptMisery
請注意,我試圖獲取的格式只是其他人已經編寫導入程序的格式。這些數據最終會在一個高度規範化的企業數據庫系統中完成,但是供應商已經允許我們使用這種特定的CSV格式導入數據。 –