Вот схема БД, которую я использую (отношение «многие ко многим» между клиентами и продуктами через соединительную таблицу client_product):
клиент TABLE
- клиент
- имя клиента
продукт TABLE
- продукт
- имя продукта
- категория
TABLE client_product
- clientid *
- productid *
Категория - это элемент фиксированного набора (в данном примере это {Food, Beverage, Books}).
I 'Я пытаюсь найти наиболее эффективный способ получить для каждого клиента его идентификатор и имя, а также (и это сложная часть) список всех продуктов, которые он купил, отсортированных по категориям (для отображения на веб-странице).через PHP, но я не знаю, если это актуально).Вот простой пример того, что я хотел бы отобразить:
ClientID ----- Имя клиента ----- Еда ------------ Напитки ------------- Книги----- 1 -------------- Джон ---------- Чипсы ----------- Кокс;Fanta ---------- MySQL для чайников----- 2 -------------- Алекс ----------- Пицца ------------__________---------- Deadpool
Теперь, когда я думаю об этом, я задаюсь вопросом, будет ли проще создать новую таблицу для хранения категорий и добавить ограничение внешнего ключа для products.category
Я пробовал несколько запросов, но не смог найти удовлетворительное решение.