2017-09-06 6 views
1

Je suis tombé sur la requête ci-dessous pour convertir dynamiquement des lignes en colonnes avec Mysql. Est-ce que quelqu'un sait ce que les 3 guillemets simples font avant & après le champ Product_Name?Mysql 3 guillemets simples à la suite

SET @sql = NULL; 
    SELECT 
    GROUP_CONCAT(DISTINCT 
    CONCAT(
     'count(case when Product_Name = ''', 
     Product_Name, 
     ''' then 1 end) AS ', 
     replace(Product_Name, ' ', '') 
    ) 
) INTO @sql 
from products; 

SET @sql = CONCAT('SELECT pt.partner_name, ', @sql, ' from partners pt 
left join sales s 
    on pt.part_id = s.partner_id 
left join products pd 
    on s.product_id = pd.prod_id 
group by pt.partner_name'); 

PREPARE stmt FROM @sql; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt; 

Répondre