If number of site values are fixed then you can use the conditional aggregation as follows:
select item,
max(case when site = 1 then 'YES' else 'NO' end) as site_1,
max(case when site = 2 then 'YES' else 'NO' end) as site_2,
max(case when site = 3 then 'YES' else 'NO' end) as site_3,
max(case when site = 4 then 'YES' else 'NO' end) as site_4,
max(case when site = 5 then 'YES' else 'NO' end) as site_5,
max(case when site = 6 then 'YES' else 'NO' end) as site_6,
max(case when site = 7 then 'YES' else 'NO' end) as site_7
from your_table
group by item;
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…