MySQL选择一个字段作为数组

时间:2014-06-20 15:41:59

标签: php mysql sql arrays

我有两张桌子:

teachers(teacher_id, name, ... )
teach_subjects(teacher_id, subject_id, ... )

teach_subject teacher_id SELECT teacher_id, GROUP_CONCAT(DISTINCT subject_id SEPARATOR ',') AS subjects, [select some more here] FROM teachers LEFT JOIN teach_subjects USING(teacher_id) GROUP BY teacher_id; 并非唯一,因为教师可以教授多个科目。

我想要的是选择一个教师名单和他们教授的科目。 我使用的SQL查询是

explode

这会选择主题的ID作为每个教师的字符串。 在PHP中,我使用subject_id为每位教师获取一系列主题ID。这很好,但我很想知道这是否真的是我必须去的方式

我只看到另一种方法:将查询分成两个查询(一个用于选择教师数据,一个用于选择主题)

修改:不对数据进行分组,因此只选择不同的{{1}}多次获取行不是一种选择,因为我选择了其他 big 数据,因此我的开销太大了。

注意:这只是我真正使用的查询的简化。我现在只想保持简单。

0 个答案:

没有答案