この数日間、私はこの問題に対する答えを見つけようとしています。私は答えを見つけられませんでしたが、このサイトは検索結果に表示され続けるので、試してみると思いました。投稿BTWのための素晴らしいフォーマットオプション。私はに変身したいMySQLのピボットテーブル
user_id | form_id | question_id | data_label | data_value
1 1 1 firstName Joe
1 1 2 lastName Smith
1 1 3 phone 5554443333
2 1 1 firstName Sally
2 1 2 lastName Jones
2 1 3 phone 3334445555
:私はこれを行う方法の一例を見つけることができます
user_id | firstName | lastName | phone
1 Joe Smith 5554443333
2 Sally Jones 3334445555
は、私のようなテーブルを持っています。私は彼らをよく理解していませんが、彼らはそこにいます。私のユニークな問題は、この単一のテーブルが、可能な数のフィールドでさまざまな形式から入力されたデータを保持しているときに発効します。だから、私はテーブルがあるとします、私は、パラメータとしてform_idに渡します
user_id | form_id | question_id | data_label | data_value
1 1 1 firstName Joe
1 1 2 lastName Smith
1 1 3 phone 5554443333
2 1 1 firstName Sally
2 1 2 lastName Jones
2 1 3 phone 3334445555
3 2 1 fav_color red
3 2 2 fav_animal eagle
4 2 1 fav_color blue
4 2 2 fav_animal dog
ユーザー(彼らはすべての異なる値と同じラベルを持つべきである)によってグループ化されているフォームからすべてのレコードを収集し、その後、表示されるデータのように:form_id = 1レポートが見え
...のような:
user_id | fav_color | fav_animal
3 red eagle
4 blue dog
:form_id = 2レポートがどのように見える
user_id | firstName | lastName | phone
1 Joe Smith 5554443333
2 Sally Jones 3334445555
...
私は高度なSQLプログラミングとプロシージャを初めて習得しており、これを自分で行う方法を理解することはできません。各フォームのクエリに正確なフィールド名を入力することなく、任意の数値/タイプのフィールドを処理できるクエリが必要です。すぐ上の最初のクエリには4つのフィールドがあり、2番目のクエリには3があることに注意してください。このように、ソリューションには柔軟性が必要です。
SQLはプログラミング言語から生成することもできます.SQLがプログラミング言語から生成されるので、その解決策があればさらに多くのオプションがあります。
十分な情報がない場合はお知らせください。
のような(未テスト)何かを試みることができるあなたの応答をありがとうございました。私は今までこれを見ていないとは思えませんが、SQL文をプログラマチックに作成することができるので、最初にフィールド名のデータを照会してから、それぞれのタイプのSQL文を動的に作成することができます。私が上記の声明に行った唯一の変更は、 "form by group by user_id"に変更することでしたので、各ユーザーの応答とそのフォームの最初の応答を取得しました。あなたの助けをもう一度ありがとう! –