私はこれをうまくやってくれないようです。過去には、通常、複数のSQL文でこれを行い、PHPでデータを結合します。私はこれがプログラムの最良の方法ではないことを知っています。だから私はすべてのデータを1つのSQLステートメントで取得しようとします。単一のSQLステートメント - それは可能ですか?
ここに表があります。
テーブルページ:
id name fields
1 home 1,3,4
テーブルdata_fields:
id field
1 title
2 subtitle
3 description
4 image
テーブルpage_data:
id title subtitle description image link quote
1 Hello null descriptionText null null null
だから、基本的に私は、ページIDに応じて、ページデータを引き出したいです。
カンマで区切られたpages.fields
フィールドを分割し、必要なフィールドをdata_fields
から取得し、data_fieldsから取得したフィールド名に応じてpage_data
からデータを取得するにはどうすればよいですか?
クエリのwhere句を使用します。あなたのクエリを表示してください – Ibu
あなたのテーブル構造は私にとって信じられないほど冗長なようです。 page_dataテーブルに 'name'カラムを追加し、他の2つのテーブルを完全に削除するだけで、まったく同じデータを得ることができます。 –
実際のテーブル定義、サンプルデータ、およびサンプル出力を表示 – Bohemian