2017-09-08 1 views
0

J'ai une procédure ci-dessousprocédure pour ajouter count() dans group_concat()

DELIMITER $$ 

CREATE DEFINER=`root`@`localhost` PROCEDURE `ptl_head`() 
BEGIN 
SET @sql = NULL; 

SELECT GROUP_CONCAT(DISTINCT 
    CONCAT(
     'MAX(CASE WHEN month(alloc_date) = ''', 
     month(alloc_date), 
     ''' THEN emp_code END) `', 
     month(alloc_date),'_',year(alloc_date), 
     '`' 
     ) 

) 
    INTO @sql 
    FROM daily_report; 

SET @sql = CONCAT('SELECT emp_code, ', @sql, ' 
        FROM daily_report 
        GROUP BY emp_code'); 

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

Je voudrais ajouter le nombre de emp_code en sortie, mais je reçois emp_code comme output.Someone me aider à résoudre ce

Répondre

0

Qu'en est -

SET @sql = CONCAT('SELECT emp_code, ', @sql ' 
        FROM daily_report 
        GROUP BY emp_code 
        UNION ALL 
        SELECT "Count", COUNT(*), month(alloc_date), '_', year(alloc_date) 
        FROM daily_report'); 
+0

fait, je voulais afficher le nombre de emp_code pour cette colonne particulière je reçois la emp_code comme valeur dans la colonne correspondante – HariPriya

+0

donc, vous voulez juste montrer le compte que combien emp_code vous obtenez? –

+0

Exactement ce que vous dites – HariPriya