I have used pivot query for getting employ Salary Report.
Our Aim :
Step 1: Create a Table in MySQL :
CREATE TABLE IF NOT EXISTS `employee` (
`empID` int(11) NOT NULL,
`name` varchar(100) NOT NULL,
`month` varchar(20) NOT NULL,
`salary` int(11) NOT NULL,
PRIMARY KEY (`empID`,`month`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Step 2: Insert Element in Table :
INSERT INTO `employee` (`empID`, `name`, `month`, `salary`) VALUES
(1, 'ankit', 'jan', 200000),
(1, 'ankit', 'feb', 300000),
(1, 'ankit', 'march', 400000),
(1, 'ankit', 'april', 320000),
(2, 'rishi', 'jan', 480000),
(2, 'rishi', 'feb', 520000),
(2, 'rishi', 'march', 420000),
(2, 'rishi', 'april', 350000),
(3, 'raveesh', 'jan', 481000),
(3, 'raveesh', 'feb', 525000),
(3, 'raveesh', 'march', 440000),
(3, 'raveesh', 'april', 550000);
Step 3: Final Query for fetching all record :
SELECT empID,name,
GROUP_CONCAT(if(month = 'jan', salary, NULL)) AS 'jan',
GROUP_CONCAT(if(month = 'feb', salary, NULL)) AS 'feb',
GROUP_CONCAT(if(month = 'march', salary, NULL)) AS 'march',
GROUP_CONCAT(if(month = 'april', salary, NULL)) AS 'april'
FROM `employee`
WHERE 1
GROUP BY empID
---------------------------------------------------------------------*> GOOD LUCK ENJOY <*---------------------------------------------------------
---------------------------------------------------------------------*> GOOD LUCK ENJOY <*---------------------------------------------------------
