我有两张桌子
Table1 person:
-person_id
-name
Table2 expertise:
-expertise_id
-person_id
-expertise_name
我想要达到的目标是让5个随机人员返回该人的相应2个随机专业知识。到目前为止,我可以归还所有人及其所有专业知识。
SELECT * FROM person p, expertise e WHERE e.person_id = p.person_id
任何人都可以帮我这个吗?提前谢谢。
答案 0 :(得分:1)
最简单的方法可能是将专业知识退回一行:
select p.*,
substring_index(group_concat(e.expertise_name order by rand()), ',', 2) as two_expertises
from (select p.*
from person p
order by rand()
limit 5
) p left join
expertise e
on p.person_id = e.person_id
group by p.person_id;