Я пытаюсь получить запрос, который показывает определенную информацию из поля mult-select, которое является частью форума phpbb.запрос для отображения выбранных параметров из поля multi select в 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
Запрос мне нужно должна показать: Имя и фамилия пользователя, и только конкретные варианты, которые пользователь (в данном случае: 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
Как сделать это?
Для поддержки многоязычных значений полей профиля (ТЕКСТ) сохраняются в таблице _lang, а в фактической таблице _data содержатся только индексы к таблице lang. Так, чтобы у вас было, скажем, 3, хранящееся в таблице данных, а затем вы сопоставляете это с «Менеджером проектов» на английском языке или «Gestor de Proyectos» на испанском языке ...
2017-01-22: Спасибо за ввод sofar все еще пытается заставить запрос работать. Ниже приведены три таблицы с соответствующим содержанием.
phpbb_profile_lang имеет следующие соответствующие поля - FIELD_ID (41) - lang_id (2) - lang_name (specialisme)
phpbb_profile_fields_data имеет следующие соответствующие поля - идентификатор_пользователя (90) - pf_voornaam (Pierre) - pf_achternaam (Линссен) - pf_specialisme (1; 3; 8; 10; 12; 15; 16)
phpbb_profile_fields_lang имеет следующие соответствующие поля - FIELD_ID (41) - lang_id (2) - option_id (0) lang_value (Business Coaching) - option_id (1) lang_value (консультирование) - option_id (2) lang_value (Executive Coaching) - option_id (3) lang_value (Holistische Coaching) - ............................ ................... - ............................ ........................ - option_id (17) lang_value (Zingeving) - option_id (18) lang_value (Overige)
«Специалисты' все в одной строке с запятой разделены? или они находятся в отдельных строках? – GurV
Будет ли одна строка для каждого имени или нескольких строк? – GurV
Специалисты (например, коучинг, консультирование, обучение) сами по себе находятся в отдельной строке, где каждый специалист имеет уникальный option_id –