Mysql sql查询中出错:不允许有多个值

Mysql sql查询中出错:不允许有多个值,mysql,sql-server-2008,Mysql,Sql Server 2008,数据库中有三个表 标准 老师 课程 我想从课程表中检索与特定标准相关联的所有课程 请注意: 在standard和teacher之间存在1对多关系 在教师和课程之间存在1对多关系 标准和课程之间没有直接关系 我已尝试获取它,但无法检索数据,因为我获取的教师人数是多个,SQL表示不允许使用多个值。有办法吗 我的问题是: select CourseName from Course where Course.TeacherID = ( select TeacherID from Teache

数据库中有三个表

  • 标准
  • 老师
  • 课程
我想从
课程
表中检索与
特定标准
相关联的所有课程

请注意:

  • standard
    teacher
    之间存在
    1对多关系
  • 教师
    课程
    之间存在
    1对多关系
  • 标准
    课程
    之间没有直接关系
  • 我已尝试获取它,但无法检索数据,因为我获取的教师人数是多个,SQL表示不允许使用多个值。有办法吗

    我的问题是:

    select CourseName
    from Course
    where Course.TeacherID = (
      select TeacherID
      from Teacher
      where StandardID = 7
    )
    

    在中尝试
    课程.TeacherID


    这是学校作业吗?

    试试
    课程


    这是学校作业吗?

    我想你的问题是你正在使用“=”,请尝试将“=”改为“IN”。见下文:

    select CourseName
    from Course
    where Course.TeacherID IN (
      select TeacherID
      from Teacher
      where StandardID = 7
    )
    

    我认为您的问题是您正在使用“=”,请尝试将“=”更改为“IN”。见下文:

    select CourseName
    from Course
    where Course.TeacherID IN (
      select TeacherID
      from Teacher
      where StandardID = 7
    )
    

    以下SQL返回多少行?从教师中选择教师ID,其中标准ID=7,因此这是正常的。。。不能对一个变量影响两个值:)以下SQL返回多少行?从教师中选择教师ID,其中标准ID=7,因此这是正常的。。。你不能对一个变量影响两个值:)不,这不是学校作业,但我只是想用sql server 2008学习vb.net,听起来就像作业:D没问题。也许你可以投票选出正确的答案。然后是连接方法,我认为它比双选更好。从课程c中选择coursename内部连接技术人员t ON c.teacherID=t.id内部连接标准s ON t.standardsID=s.id其中standardID=7感谢您为我指明了正确的方向。我对连接知之甚少。不,这不是学校作业,但我只是想用SQLServer2008学习vb.net。听起来就像作业:D没问题。也许你可以投票选出正确的答案。然后是连接方法,我认为它比双选更好。从课程c中选择coursename内部连接技术人员t ON c.teacherID=t.id内部连接标准s ON t.standardsID=s.id其中standardID=7感谢您为我指明了正确的方向。我对连接知之甚少。