1

複数のテーブルを結合する必要があります。一部は1対多のマッピングで、結合されたテーブルのすべてのエントリをPHPを使用してcsvファイルの単一行エントリに変換します。

基本的に3D表現から2D表現に移行することはわかっていますが、これはcsvファイルのフォーマット要件です。

MySQL構造は、テーブル「questions」、「people」、および「trips」で構成されています。「people」テーブルは、「questions」のIDによって「questions」テーブルにリンクされています。同様に、「旅行」は「人」のIDによって「人」にリンクされます。「質問」から「人」と「人」から「旅行」の両方の間には1対多の関係があります

アイデアは、行ごとに1つの「質問」エントリを含むcsvファイルを作成することです。この行エントリは、3つのテーブルすべての結合結果になります。質問エントリごとの人数と旅行数は一貫していないため、一部の「質問」エントリの人数が他のエントリより少ない場合は、スペースが必要になります。旅行でも同じです。

PHPでこれを行うための最良の方法は、多くのクエリやforループなどでブルートフォースコーディングを行うことを除いて、MySQLクエリを実行しようとしていますが、この問題に頭を悩ませることはできません。

4

1 に答える 1

1

mysqlGROUP_CONCAT関数を探していると思います。

結合のあるデータを選択し、question_idでグループ化し、人と旅行の列でgroup_concatを使用します。

于 2012-09-12T13:27:33.087 に答える