DE

Size: a a a
DE

РW
РW
РW
DE
DE
G
DE
DE
РW
DE
G
L
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'sum(case when tag_name = ''',
tag_name,
''' then 1 else 0 end) AS `',
tag_name, '`'
)
) INTO @sql
from
(
select tag_name
from tags
GROUP BY tag_name
ORDER BY tag_name
) d;
SET @sql
= CONCAT('select
p.tovar_id, ', @sql, '
from tovars p
left join tags t
on p.tovar_id = t.tovar_id
group by p.tovar_id;');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;