Я хочу страницу, на которой отображается клиент данных. Вот моя страница, которую я хочу:
---------------------------------- name | skill A | skill B ---------------------------------- John | PHP | MySQL, Javascript Doe | Javascript | MySQL Richard | PHP | Javascript ----------------------------------
и вот мои таблицы MySQL:
таблица клиентов:
----------------------------------------- id_client | name_client | email_client ----------------------------------------- 1 | John | john@email.com 2 | Doe | doe@email.com 3 | Richard | richard@email.com ------------------------------------------
таблица навыков
----------------------------- id_skill | name_skill ----------------------------- 1 | PHP 2 | MySQL 3 | Javascript -----------------------------
client_skill
--------------------------------- skill | client | status --------------------------------- 1 | 1 | A 2 | 1 | B 3 | 2 | A 2 | 2 | B 1 | 3 | A 3 | 3 | B ---------------------------------
Из них я хочу diplaying данные, которые объединяют три группы таблиц по id_client, и каждый клиент имеет умение, что группа по значению клиента навыков, что A и B.
Поэтому я хочу показать клиентское умение A и клиентское умение B в одной строке. Какой запрос следует использовать и как эхо в JSON, чтобы я мог отображать его в angularjs?
это ваш запрос.
SELECT a.name_client, MAX(CASE WHEN b.status = 'A' THEN c.name_skill END) 'SKILL A', MAX(CASE WHEN b.status = 'B' THEN c.name_skill END) 'SKILL B' FROM client a LEFT JOIN client_skill b ON b.client = a.id_client LEFT JOIN skill c ON c.id_skill = b.skill GROUP BY a.id_client ORDER BY id_client