phpbbフォーラムの一部であるマルチセレクトフィールドから特定の情報を表示するクエリを取得しようとしています。mysqlの複数選択フィールドから選択したオプションを表示するクエリ
SELECT d.pf_firstname, d.pf_lastname, d.pf_specialism
FROM phpbb_profile_fields_data d
WHERE d.pf_lastname = 'Linssen'
上記のクエリは次のような結果が得られる:別のテーブルの
-- firstname: Pierre
-- lastname: Linssen
-- pf_specialism: 1;3;8;10;12;15;16 (which are the selected options)
利用可能なオプション(0〜18) および関連テキストが与えられた関係を。
result of a "wrong" query, showing all these options
私は必要なクエリが表示されるはずです:FirstNameおよびユーザーの姓と(この場合は:Linssen)そのユーザーがいることをのみ固有のオプション(この場合、特定のプロファイルのフィールドのために選択しました:スペシャリスト)。
だから、クエリの結果は、私はそれを行うにはどうすればよい
-- firstname: Pierre
-- lastname: Linssen
-- specialism: (1) Counseling ; (2) Executive Coaching ; (8) Oplossings gericht coachen; (10) Provocatief coachen ; (12) Sales coaching ; (15) Team coaching ; (16) Wandel coaching
のようなものでなければなりませんか?
マルチ言語をサポートするために、プロファイルフィールド値(TEXT)は_langテーブルに格納され、実際の_dataテーブルはlangテーブルのインデックスのみを保持します。例えば、データテーブルに格納された3つのデータを「Project Manager」(英語)または「Gestor de Proyectos」(スペイン語)にマッピングすると、...
2017-01-22:ありがとうございます依然としてクエリを機能させるのに苦労しています。 下記の3つの表と関連するコンテンツをご覧ください。
phpbb_profile_langは、以下の関連フィールドを有する - FIELD_ID(41) - LANG_ID(2) - LANG_NAME(specialisme)
phpbb_profile_fields_data有する下記関連項目 - USER_ID( 90) - pf_voornaam(ピエール) - pf_achternaam(Linssen) - pf_specialisme(1; 3; 8; 10; 12; 15; 16)
phpbb_profile_fields_langは、以下の関連フィールドを有する - FIELD_ID(41) - LANG_ID(2) - option_id(0)lang_value(ビジネスコーチング) - option_id(1)lang_value(カウンセリング) - option_id( 2)lang_value(エグゼクティブコーチング) - option_id(3)lang_value(ホリスティックコーチング) - ............................ ................... - ............................ ................... - option_id(17)lang_value(Zingeving) - option_id(18)lang_value(その他)
は、セミコロンで区切られた 'specialism'sが1行にまとめられていますか?またはそれらは別々の行にありますか? – GurV
それぞれの名前または複数の行に1つの行が存在しますか? – GurV
専門家(コーチング、カウンセリング、トレーニングのような)はそれぞれ別個の行に分かれています。それぞれのスペシャリストには一意のoption_idがあります –