Я пытаюсь выяснить, как группировать данные из объединенной таблицы в PHP-скрипте на стороне сервера Datatables.
Данные для таблиц данных подготовлены сценарием PHP с использованием класса SSP, модифицированного для соединения postgreSQL.
Таблица состоит из продуктов и их категорий.
Все работает хорошо, но я не могу понять, как подготовить оператор SELECT, чтобы сгруппировать категории продуктов по продукту.
Чтобы облегчить понимание моей проблемы, вы можете увидеть пример установки ниже.
Структура таблицы базы данных PostgreSQL:
Table: products_table
------------------------------------------
id | title | pr_template_id
------------------------------------------
1 | Product 1 | 1
2 | Product 2 | 2
3 | Product 3 | 3
------------------------------------------
Table: product_categories_template_relations
------------------------------------------
id | pr_template_id | category_id
------------------------------------------
1 | 1 | 1
2 | 1 | 2
3 | 2 | 2
4 | 2 | 3
5 | 3 | 1
------------------------------------------
Table: product_categories
------------------------------------------
category_id | title
------------------------------------------
1 | Category 1
2 | Category 2
3 | Category 3
------------------------------------------
Серверный скрипт (PHP):
<?php
$table = <<<EOT
(
SELECT
a.id,
a.pr_template_id,
a.title as producttitle,
b.pr_template_id,
b.category_id,
c.title as cattitle
FROM products_table a
LEFT JOIN product_categories_template_relations b ON a.pr_template_id = b.pr_template_id
LEFT JOIN product_categories c ON b.category_id = c.category_id
) temp
EOT;
?>
Текущие результаты Datatables:
------------------------------------------
Product ID | Product title | Category
------------------------------------------
1 | Product 1 | Category 1
1 | Product 1 | Category 2
2 | Product 2 | Category 2
2 | Product 2 | Category 3
3 | Product 3 | Category 1
------------------------------------------
Результаты поиска данных, которые я ищу:
---------------------------------------------------------
Product ID | Product title | Category
---------------------------------------------------------
1 | Product 1 | Category 1, Category 2
2 | Product 2 | Category 2, Category 3
3 | Product 3 | Category 1
---------------------------------------------------------
Так что в основном я застрял в скрипте на стороне сервера (PHP) и в том, как правильно сформулировать оператор SELECT.