我正在尝试连接两个表,但似乎有一个问题,我正在寻找的输出是有主题的行数。
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 Geographyeducation表如下所示:
id List Idsubjek studentid school
1 52,53,54,74,0,0,0 15 school name我目前的代码只生成一行,有一个额外的列"subject“,但它只生成第一行。数学。
任何帮助都将不胜感激。
发布于 2015-11-24 23:20:44
首先,你应该规范化你的数据结构,并在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'https://stackoverflow.com/questions/33896680
复制相似问题