2017-09-08 3 views
0

ich unten Verfahren habenVerfahren count() in Group_concat hinzufügen()

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 

Ich möchte Graf von emp_code als Ausgang hinzuzufügen, aber ich erhalte emp_code wie mir output.Someone zu helfen, diese

zu lösen

Antwort

0

Was -

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

eigentlich wollte ich die Anzahl der emp_code für diese bestimmte Spalte angezeigt werden i die emp_code als Wert in der entsprechenden Spalte bin immer – HariPriya

+0

Sie wollen also nur die Zählung zeigen, dass Wie viel emp_code bekommst du? –

+0

Genau das, was Sie sagen – HariPriya