我正在尝试连接两个表,但似乎遇到问题,我正在寻找的输出是有主题的行数。
SELECT *
FROM education AS a
JOIN keys2 AS b USING(`List Idsubjek`)
WHERE `List Idsubjek` IN (52, 54, 55, 67)
AND `studentid` = '$id'
keys2 表如下所示:
id List Idsubjek Subject
1 52 Maths
2 53 Geography
教育表如下所示:
id List Idsubjek studentid school
1 52,53,54,74,0,0,0 15 school name
我目前只生成一行,并带有一个额外的“主题”列,但它只生成第一行。数学。
如有任何帮助,我们将不胜感激。
最佳答案
首先,您应该标准化您的数据结构,并在keys2和education表之间建立一个连接表。
要使连接适用于当前数据结构,请使用 mysql 的 find_in_set()功能:
SELECT *
FROM education AS a
JOIN keys2 AS b on find_in_set(b.`List Idsubjek`,a.`List Idsubjek`)>0
WHERE b.`List Idsubjek` IN (52, 54, 55, 67)
AND `studentid` = '$id'
关于Mysql 按键联接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33896680/