php – 我可以在MySQL中为一个表的每一行加入两个只有一个匹配
我有一个表,类和另一个我称之为“课程”的表 – 也就是说,某个特定人在特定地方教授的课程.我想拉一个表,基本上只是根据某些课程参数向我显示哪些类是活动的.例如: CLASSES class_id|class_name --------|------------ 1|Class One 2|Class Two 3|Different Class etc... COURSES course_id|class_id|room ---------|--------|-------- 1| 3| 1 2| 3| 2 3| 1| 1 4| 3| 1 5| 3| 2 6| 2| 1 etc... 我想知道是否有一种方法可以让我得到像SELECT类.* FROM类JOIN课程ON classes.class_id = courses.class_id WHERE courses.room = 1只返回每个类的一个实例.发生的事情是我只获得了在1号房间发生的课程,但我得到了每个课程的多个实例,因为在课堂1的课程表中有多个该课程的实例. 我已经尝试了所有不同种类的JOIN – 左,右,内等 – 而且因为我是根据另一张桌子的规格拉出来的,所以它们似乎都给了我相同的结果. 所以我得到了: class_id| class_name |course_id|room --------|--------------|---------|-------- 1|Class One | 3| 1 2|Class Two | 6| 1 3|Diferent Class| 1| 1 3|Diferent Class| 4| 1 etc... 但我想得到: class_id| class_name |course_id|room --------|--------------|---------|-------- 1|Class One | 3| 1 2|Class Two | 6| 1 3|Diferent Class| 1| 1 etc... 我可以在Classes中的每一行的第一场比赛中只有JOIN吗?我对MySQL很新,所以我在表达我想要做的事情时遇到了一些麻烦;我道歉. 另外:我通过PDO把所有这些都拉到PHP中 – 也许有一种特定的方法可以在PDO中实现这一点? 最佳答案
GROUP BY允许您在指定的字段上聚合结果,因此(在本例中)它只需要(classes.class_id,courses.room)的唯一元组 更多细节 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |