MySQL加入逗号分隔字段

nee*_*raj 4 mysql join

我有两张桌子.First Table是一个batch在"批处理"字段中包含逗号分隔的学生ID 的表

batch
--------------
id      batch 
--------------
1       1,2     
2       3,4
Run Code Online (Sandbox Code Playgroud)

第二个表是标记

marks
----------------------
id  studentid   subject     marks
1     1         English     50
2     2         English     40
3     3         English     70
4     1         Math        65
5     4         English     66
6     5         English     75
7     2         Math        55
Run Code Online (Sandbox Code Playgroud)

我们如何找到第一批id = 1的学生,他们使用英语得分超过45分而不使用子查询.

我发现使用单个查询完成此问题的问题是我们不能在JOIN语句中使用IN作为关联运算符

以下查询需要进行哪些更改才能使其正常工作?

SELECT * FROM batch
INNER JOIN marks ON marks.studentid IN(batch.batch) where batch.id = 1
Run Code Online (Sandbox Code Playgroud)

Qua*_*noi 9

SELECT  m.studentId
FROM    batch b
JOIN    marks m
ON      FIND_IN_SET(m.studentId, b.batch)
        AND m.subject = 'English'
GROUP BY
        m.studentId
HAVING  SUM(marks) > 45
Run Code Online (Sandbox Code Playgroud)