Return values as 1 or 0 together with percent
Use a CTE to calculate A,B,C,D and E using CASE or IIF and then calculate final percentatge.




;WITH tbl AS
(
SELECT 
    u.id,
    u.name,
    CASE WHEN EXISTS(SELECT 1 FROM items WHERE user_id = u.id AND itemtype = 'A') 
         THEN 1 ELSE 0 END AS [A],
    CASE WHEN EXISTS(SELECT 1 FROM items WHERE user_id = u.id AND itemtype = 'B') 
         THEN 1 ELSE 0 END AS [B],
    CASE WHEN EXISTS(SELECT 1 FROM items WHERE user_id = u.id AND itemtype = 'C') 
         THEN 1 ELSE 0 END AS [C], 
    CASE WHEN EXISTS(SELECT 1 FROM items WHERE user_id = u.id AND itemtype = 'D') 
         THEN 1 ELSE 0 END AS [D],
    CASE WHEN EXISTS(SELECT 1 FROM items WHERE user_id = u.id AND itemtype = 'E') 
         THEN 1 ELSE 0 END AS [E]
FROM
    users u
)
SELECT
    id,
    name,
    CAST((A+B+C+D+E) / 5.0 as decimal(10,1)) AS Percentatge,
    A,
    B,
    C,
    D,
    E
FROM
    tbl;
GO



id | name  | Percentatge |  A |  B |  C |  D |  E
-: | :---- | :---------- | -: | -: | -: | -: | -:
 1 | user1 | 1.0         |  1 |  1 |  1 |  1 |  1
 2 | user2 | 0.4         |  1 |  1 |  0 |  0 |  0
 3 | user3 | 0.2         |  0 |  1 |  0 |  0 |  0
 4 | user4 | 0.0         |  0 |  0 |  0 |  0 |  0
 5 | user5 | 0.0         |  0 |  0 |  0 |  0 |  0



db&lt;>fiddle here