mysql - #1242 : Subquery Returns more than one row

标签 mysql sql phpmyadmin mysql-error-1242

我有一个关于 mysql 的问题。

我有几个表,例如coursepapersstudentsstudentspapers

现在我想要的是我的查询应该返回如下结果:

它应该从学生表中选择学生姓名、学生类别,从学生论文中选择学生可选论文,但我没有在我的学生论文表中提及任何内容,而是在论文表中提及。

Papers 表有 id 作为主键,我在 studentspaper 中使用它作为外键。

现在我使用的简单查询是:

select
  st.name,
  s.paperid
from
  students st,
  sps s join papers
  on paperid
where
  paperid = (select p.p_id from papers p where type='optional')
  and st.course=1

我不知道该怎么办。

它说子查询返回超过 1 行 #1242

最佳答案

在这种情况下,您必须将 SQL 更改为:

select st.name, s.paperid 
from students st, sps s join papers on paperid 
where paperid in (select p.p_id from papers p where type='optional') and st.course=1

我刚刚将“=”更改为“in”。

这应该可以解决您的问题。

关于mysql - #1242 : Subquery Returns more than one row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11547265/

相关文章:

mysql - 无法连接到数据库 (10061)

php - 在 phpmyadmin 中截断数据需要什么权限?

php - 从评论表中查询哪些与自己相关?

mysql - 如何在同一个查询中使用部分sql查询?

sql - 使用多个表在 PostgreSQL 中编写 JOIN 查询

sql - 选择带时区的时间戳,但忽略秒

MySQL 更新问题 - NULL 字段得到更新,但已包含数据的字段不更新

php - 关键词超长查询

mysql 数据库我该如何解决这个问题?

C# sql数据复制后会丢失