Mysql 在where条件中使用联接列
我有以下表格。Mysql 在where条件中使用联接列,mysql,Mysql,我有以下表格。class\u students表格与students表格相关,因为它从那里获取student\u id\u列数据。考试数据有一列(class\u student\u id\u列)它从class\u students表student\u id\u列列获取数据 学生 学生id |学生姓名 1教育署 2.好极了 3.………一些名字 班级学生 班级|学生id |学生id |栏|班级|年级 2000年1月2日 2000年2月3日 检查数据 考试|数据| id |班级|学生| id |列|
class\u students
表格与students
表格相关,因为它从那里获取student\u id\u列
数据。考试数据
有一列(class\u student\u id\u列
)它从class\u students
表student\u id\u列
列获取数据
学生
班级学生
检查数据
考试数据
,要对一行进行更新,我想让where语句指向学生id
列
为了做到这一点,我正在尝试这个
SELECT
examination_data.examination_data_id,
examination_data.class_students_id_column,
class_students.student_id_column,
students.student_id,
examination_data.php,
examination_data.jquery,
examination_data.drawing
FROM
examination_data
LEFT JOIN class_students ON (examination_data.class_students_id_column=class_students.class_students_id)
LEFT JOIN students ON (students.student_id=class_students.student_id_column)
UPDATE examination_data SET examination_data.jquery = 96 WHERE students.student_id = 2;
我的update语句失败,因为表考试数据中没有学生.student\u id
列。我的另一个尝试是
UPDATE examination_data SET examination_data.jquery = l FROM students INNER JOIN ON students.student_id=... WHERE students.student_id = 2;
但这严重打击了我们的利益
这是可能的,还是我必须在考试数据表中有另一个学生id\u列
?使用子查询:
UPDATE
examination_data
SET
jquery = 96
WHERE
class_students_id_column = (
SELECT class_students_id FROM class_students WHERE student_id_column = 2
)
请尝试此查询
UPDATE examination_data SET examination_data.jquery = 96 WHERE
examination_data.class_students_id_column =(
SELECT class_students_id FROM class_students WHERE student_id_column = 2);
,这和你问的差不多汉克斯·阿基尔,我来看看。