新手求解 为啥派生起名报错

qq_42353737 2019-05-26 09:19:05
先取值,后查询
select * from
(select num,student_id FROM score where score.course_id IN (SELECT course.cid from course where course.cname='物理')) as A 
LEFT join
(select num,student_id FROM score where score.course_id IN (SELECT course.cid from course where course.cname='生物')as W) AS B
on B.student_id=A.student_id;

# 命名错误------ Unknown column 'A.student_id' in 'field list'
...全文
53 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
带我飞的云 2019-05-28
  • 打赏
  • 举报
回复
脚本中发现以下两个错误: 1. as A处, A字母使用的是全解输入 2. AS B处, 在AS B处前面的小括号里面,已经有一个AS W了 语句嵌套的有点多,建议使用以下形式: select A.* FROM score AS A LEFT JOIN course AS AC ON A.course_id = AC.cid LEFT JOIN score AS B ON A.student_id = B.student_id LEFT JOIN course AS BC ON B.course_id = BC.cid WHERE AC.cname = N'物理' AND BC.cname = N'生物'
AHUA1001 2019-05-27
  • 打赏
  • 举报
回复
SELECT * FROM
(SELECT num,student_id FROM score WHERE score.course_id IN (SELECT course.cid FROM course WHERE course.cname='物理')) A 
LEFT JOIN
(SELECT num,student_id FROM score WHERE score.course_id IN (SELECT course.cid FROM course WHERE course.cname='生物')) B
ON B.student_id=A.student_id;
遇星 2019-05-26
  • 打赏
  • 举报
回复
select * from (select num,student_id FROM score a where a.course_id IN (SELECT cid from course b where b.cname='物理')) as A  LEFT join (select num,student_id FROM score a where a.course_id IN (SELECT cid from course b where b.cname='生物')) AS B on B.student_id=A.student_id; 你试试这个

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧