У меня есть 2 связанные таблицы MySQL в отношении один ко многим.
Клиенты: cust_id, cust_name, cust_notes
Заказы: order_id, cust_id, order_comments
Итак, если я сделаю стандартное объединение, чтобы получить всех клиентов и их заказы через PHP, я верну что-то вроде:
- Джек Блэк, заметки Джека, комментарии о первом порядке Джека
- Джек Блэк, заметки Джека, комментарии о втором порядке Джека
- Саймон Смит, заметки Саймона, комментарии о 1-м порядке Симона
- Саймон Смит, заметки Саймона, комментарии о 2-м заказе Симона
Проблема в том, что cust_notes является текстовым полем и может быть довольно большим (пара тысяч слов). Таким образом, похоже, что возвращение этого поля для каждого заказа является неэффективным.
Я мог бы использовать GROUP_CONCAT и JOINS , чтобы вернуть все order_comments в одной строке, НО order_comments также является большим текстовым полем, так что похоже создать проблему.
Должен ли я просто использовать два отдельных запроса, один для таблицы клиентов и один для таблицы заказов?
Есть ли лучший способ?