select distinct a.userid,b.data 语文,c.data 数学,d.data 英语
from temp_fenshu a,(select userid,data from temp_fenshu where code = '语文') b,
(select userid,data from temp_fenshu where code = '数学') c,
(select userid,data from temp_fenshu where code = '英语') d
where a.userid = b.userid(+) and
b.userid = c.userid(+) and
c.userid = d.userid(+);