SELECT a.姓名,
case when exists(a.社团编号1=b.社团编号) then b.社团名称 end as 社团名称1,
case when exists(a.社团编号2=b.社团编号) then b.社团名称 end as 社团名称2,
FROM 个人信息表 a,社团表 b
WHERE a.社团编号1=b.社团编号 AND a.社团编号2=c.社团编号
SELECT A.姓名,社团名称1,社团名称2
(SELECT 姓名,MIN(社团名称) 社团名称1 FROM TABLE GROUP BY 社团名称) A
LEFT JOIN
(SELECT 姓名,MAX(社团名称) 社团名称2 FROM TABLE
WHERE 姓名 NOT IN(SELECT 姓名 FROM TABLE GROUP BY 姓名 HAVING COUNT(姓名)=1 ) GROUP BY 社团名称) B
ON A.姓名=B.姓名
以上只能最多两个社团