My tables:
Query:
SELECT
Sno,
TopEmpName,
TopEmpID,
HighLevel,
CH, ED, DIR, GM, AGM, BDM, SMM,
LowEmpID
FROM
(SELECT
projectallocation.proAllocationID AS Sno,
temp.intro_name AS TopEmpName,
projectallocation.introtoplevelEmpid AS TopEmpID,
temper.csshortname AS HighLevel,
(companystructure.csshortname) AS Level,
introducermaster.intro_name AS LowEmpName,
projectallocation.introlevelEmpid AS LowEmpID
FROM
projectallocation
INNER JOIN
dbo.IntroducerMaster ON dbo.introducermaster.empid = projectallocation.introLevelEmpid
INNER JOIN
introducermaster AS temp ON temp.empiD = projectallocation.introtopLevelEmpid
INNER JOIN
companyStructure ON companyStructure.HLevel = projectallocation.introleveID
INNER JOIN
companyStructure AS temper ON temper.Hlevel = projectallocation.introtoplevelID
WHERE
projectallocation.projectID != 3
GROUP BY
IntroducerMaster.Intro_Name, temp.intro_name,
companyStructure.CSShortName,
projectallocation.proAllocationID,
projectallocation.introlevelEmpid,
projectallocation.introtoplevelEmpid,
temper.csshortname) b
PIVOT
(MAX(LowEmpName)
FOR level IN (CH, ED, DIR, GM, AGM, BDM, SMM)) PVT
ORDER BY
SMM, BDM, AGM, GM, DIR, ED, CH
Output:
Sno TopEmpName TopEmpid HighLevel CH ED DIR GM AGM BDM SMM LowEmpid
----------------------------------------------------------------------
1 karthi emp01 CH null ajju null null null null null
1 karthi emp01 cH null null ramesh null null null null
I want this result instead:
CH ED DIR GM AGM BDM SMM
----------------------------------
karthi ajju,.. Ramesh,.. Some Data.........
Please help achieve this desired output
It seems your DB is case-sensitive. Convert csshortname
column to UPPER
or LOWER
(and any other columns which would have different case)
SELECT
Sno,
TopEmpName,
TopEmpID,
HighLevel,
CH, ED, DIR, GM, AGM, BDM, SMM,
LowEmpID
FROM
(SELECT
projectallocation.proAllocationID AS Sno,
temp.intro_name AS TopEmpName,
projectallocation.introtoplevelEmpid AS TopEmpID,
UPPER( temper.csshortname ) AS HighLevel,
(companystructure.csshortname) AS Level,
introducermaster.intro_name AS LowEmpName,
projectallocation.introlevelEmpid AS LowEmpID
FROM
projectallocation
INNER JOIN
dbo.IntroducerMaster ON dbo.introducermaster.empid = projectallocation.introLevelEmpid
INNER JOIN
introducermaster AS temp ON temp.empiD = projectallocation.introtopLevelEmpid
INNER JOIN
companyStructure ON companyStructure.HLevel = projectallocation.introleveID
INNER JOIN
companyStructure AS temper ON temper.Hlevel = projectallocation.introtoplevelID
WHERE
projectallocation.projectID != 3
GROUP BY
IntroducerMaster.Intro_Name, temp.intro_name,
companyStructure.CSShortName,
projectallocation.proAllocationID,
projectallocation.introlevelEmpid,
projectallocation.introtoplevelEmpid,
temper.csshortname) b
PIVOT
(MAX(LowEmpName)
FOR level IN (CH, ED, DIR, GM, AGM, BDM, SMM)) PVT
ORDER BY
SMM, BDM, AGM, GM, DIR, ED, CH
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.