我有表1(学生的爱好记录)和表2(所有爱好列表,按优先级排序),想查询出表3的结果。
一开始我是想表3每个爱好查询数做一个字段,但是由于爱好总数不确定,不知道怎么实现,所以用字符串,完事再处理。
现在有几点不明白:
1.字符串怎么拼接 ?
2.怎么把表2的序列放进查询结果中的?
3.可能还要别的知识点我没学到
ps:我是要用java 的mybatis框架查询这个表,有sql就行了,不求更多
select * from A left join B on A.aID = B.bID这是一种
select * from A,B where A.aID = B.bID
这是普通的链表查询
你看看这俩的区别,就好记了。
select * from 表1 cross join 表2 ;
字符串拼接用concat()函数,表连接用left join应该可以满足如果你的爱好列表是不固定的可能需要你按照结果去动态生成sql
你这个有点难实现。。可以试试先查出两个班级每个科目的人数然后用case when做行转列
对于上面的回答表示感谢,给了我一些思路,最终由于水平和时间所限,用了最简单的办法
这么下来可能查询的效率比较慢,但很容易实现,假如各位还有更好的方法,希望能分享下