获取选择查询的当前结果中的主键值

时间:2017-07-21 05:44:05

标签: mysql sql-server

如您所见,我有这些表格 Salary_gradesTeachers_salary ,teacher_id是我将在不同数据库中获得的教师表的外键。

我试过了这个查询

SELECT * 
FROM teachers_salary 
LEFT JOIN salary_grades 
ON grade = (SELECT salary_grade FROM teachers_salary WHERE teacher_id = 3) 
WHERE teacher_id = 3;

我得到了我想要的结果。

所以我的问题是我想显示存储在teacher_salary中的所有信息,其中的等级等于salary_grade表中的等级,所以我尝试了没有where子句的查询。

SELECT * 
FROM teachers_salary 
LEFT JOIN salary_grades ON grade = (SELECT salary_grade FROM teachers_salary);

我收到此错误:

  

子查询返回多行。

那么我如何用salary_grades值显示所有记录等于salary_grades.grade值?

1 个答案:

答案 0 :(得分:1)

您不需要对此

进行子查询
SELECT * 
FROM teachers_salary s
LEFT JOIN salary_grades g
ON s.salary_grade = g.grade