这是学生表,学生有两门科目数学和阅读
这两个科目注册了相同的ID我想只显示数学学生 这里的条件是主键(sid,subject);
sid fname lname subject phno
--- ----- ----- -------- -----
1 vvk v math 4444
1 vvk v read 4444
2 hari h math 5555
2 hari h read 5555
3 kalyan k read 6666
如何从学生中显示单个记录已经学习数学或阅读,如下所示:
1 vvk v math 4444
2 hari h math 5555
3 kalyan k math 6666
这里sid和subject是复合主键 如果请在mysql中将查询写入上述结果
答案 0 :(得分:2)
就像我在评论中提到的那样,你应该规范你的表格,你当前的结构是无效的。
在此之前使用group with group_concat它会将主题组合成一个字段
SELECT
sid,fname,lname,phno,group_concat(subject) as subjects
FROM
tablename
GROUP BY
sid
会产生类似
的东西3 kalyan k 6666 math,read