SELECT degree_no As [تحصیلات]
, y1395 As [سال 1395]
, y1394 As [سال 1394]
, y1393 As [سال 1393]
, y1392 As [سال 1392]
, y1391 As [سال 1391]
, y1390 As [سال 1390]
, y1389 As [سال 1389]
, y1388 As [سال 1388]
, y1387 As [سال 1387]
, y1386 As [سال 1386]
FROM (
SELECT CASE
When degree_no = 18 then 'دکتراومعادل'
When degree_no = 17 then 'فوق لیسانس'
When degree_no = 16 then 'لیسانس'
When degree_no = 15 then 'فوق دیپلم'
When degree_no = 14 then 'دیپلم'
When degree_no < 14 then 'زیردیپلم'
END As [Degree_no]
, CASE
When ((vaz=1 and substring(rel_date ,1,4)='1386') OR (vaz=0 and substring(emp_date ,1,4)<='1386')) then 'y1386'
When ((vaz=1 and substring(rel_date ,1,4)='1387') OR (vaz=0 and substring(emp_date ,1,4)<='1387')) then 'y1387'
When ((vaz=1 and substring(rel_date ,1,4)='1388') OR (vaz=0 and substring(emp_date ,1,4)<='1388')) then 'y1388'
When ((vaz=1 and substring(rel_date ,1,4)='1389') OR (vaz=0 and substring(emp_date ,1,4)<='1389')) then 'y1389'
When ((vaz=1 and substring(rel_date ,1,4)='1390') OR (vaz=0 and substring(emp_date ,1,4)<='1390')) then 'y1390'
When ((vaz=1 and substring(rel_date ,1,4)='1391') OR (vaz=0 and substring(emp_date ,1,4)<='1391')) then 'y1391'
When ((vaz=1 and substring(rel_date ,1,4)='1392') OR (vaz=0 and substring(emp_date ,1,4)<='1392')) then 'y1392'
When ((vaz=1 and substring(rel_date ,1,4)='1393') OR (vaz=0 and substring(emp_date ,1,4)<='1393')) then 'y1393'
When ((vaz=1 and substring(rel_date ,1,4)='1394') OR (vaz=0 and substring(emp_date ,1,4)<='1394')) then 'y1394'
When ( vaz=0 and substring(emp_date ,1,4)<='1395') then 'y1395'
END As [Years]
, Count(1) As [count]
FROM vwpers1 where per_no>100
GROUP BY CASE
When ((vaz=1 and substring(rel_date ,1,4)='1386') OR (vaz=0 and substring(emp_date ,1,4)<='1386')) then 'y1386'
When ((vaz=1 and substring(rel_date ,1,4)='1387') OR (vaz=0 and substring(emp_date ,1,4)<='1387')) then 'y1387'
When ((vaz=1 and substring(rel_date ,1,4)='1388') OR (vaz=0 and substring(emp_date ,1,4)<='1388')) then 'y1388'
When ((vaz=1 and substring(rel_date ,1,4)='1389') OR (vaz=0 and substring(emp_date ,1,4)<='1389')) then 'y1389'
When ((vaz=1 and substring(rel_date ,1,4)='1390') OR (vaz=0 and substring(emp_date ,1,4)<='1390')) then 'y1390'
When ((vaz=1 and substring(rel_date ,1,4)='1391') OR (vaz=0 and substring(emp_date ,1,4)<='1391')) then 'y1391'
When ((vaz=1 and substring(rel_date ,1,4)='1392') OR (vaz=0 and substring(emp_date ,1,4)<='1392')) then 'y1392'
When ((vaz=1 and substring(rel_date ,1,4)='1393') OR (vaz=0 and substring(emp_date ,1,4)<='1393')) then 'y1393'
When ((vaz=1 and substring(rel_date ,1,4)='1394') OR (vaz=0 and substring(emp_date ,1,4)<='1394')) then 'y1394'
When ( vaz=0 and substring(emp_date ,1,4)<='1395') then 'y1395'
END
, CASE
When degree_no = 18 then 'دکتراومعادل'
When degree_no = 17 then 'فوق لیسانس'
When degree_no = 16 then 'لیسانس'
When degree_no = 15 then 'فوق دیپلم'
When degree_no = 14 then 'دیپلم'
When degree_no < 14 then 'زیردیپلم'
END ) tblexpr6
PIVOT (max([count])
For [Years] in ([y1395], [y1394], [y1393], [y1392], [y1391], [y1390], [y1389], [y1388], [y1387], [y1386])
) PVT
موفق باشید .....