加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

php – 我可以在MySQL中为一个表的每一行插手两个只有一个匹配

发布时间:2021-05-23 22:05:56 所属栏目:编程 来源:网络整理
导读:我有一个表,类和另一个我称之为“课程”的表 也就是说,某个特定人在特定处所传授的课程.我想拉一个表,根基上只是按照某些课程参数向我表现哪些类是勾当的.譬喻: CLASSESclass_id|class_name--------|------------ 1|Class One 2|Class Two 3|Different Clas

我有一个表,类和另一个我称之为“课程”的表 – 也就是说,某个特定人在特定处所传授的课程.我想拉一个表,根基上只是按照某些课程参数向我表现哪些类是勾当的.譬喻:

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中实现这一点?

最佳谜底
SELECT
   classes.class_id,classes.name,courses.room
FROM classes
   JOIN courses
      ON classes.class_id=courses.class_id
WHERE courses.room=1
GROUP BY classes.class_id,courses.room

GROUP BY应承您在指定的字段上聚合功效,因此(在本例中)它只必要(classes.class_id,courses.room)的独一元组

更多细节
http://dev.mysql.com/doc/refman/5.0/en/group-by-hidden-columns.html

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读