2012-09-12 77 views
1

我必須連接多個表,其中一些表具有一對多映射,並使用PHP將連接表中的每個條目轉換爲csv文件中的單個行條目。MySQL - 在PHP中使用一對多連接表連接

我知道我基本上是從3D到2D表示,但它是csv文件的格式要求。

MySQL結構由表「問題」,「人員」和「旅行」組成。 「人」表通過「問題」標識鏈接到「問題」表。同樣,「旅行」也是通過「人」的id與「人」聯繫起來的。這兩個「問題」與「人」和「人」到「旅行」之間有一對多的關係

這個想法是讓每個行有一個「問題」條目的csv文件。該行條目將成爲所有3個表格的連接結果。每個問題輸入的人數和出行次數不一致,因此如果某些「問題」條目中的人數比其他人少,則需要空格。與旅行相同。

什麼是最好的方式來完成這個在PHP中完成,除了蠻力編碼這與許多查詢,循環等我試圖讓MySQL查詢去,但不能包裹我的頭圍繞這個問題。

回答

1

我認爲你在尋找mysql GROUP_CONCAT函數。

選擇帶連接的數據,按question_id對其進行分組,然後在人員和旅行列上使用group_concat。