三个表之间的SQL关系
我需要一些关于SQL语句的帮助 我有树桌三个表之间的SQL关系,sql,Sql,我需要一些关于SQL语句的帮助 我有树桌 问题 解决方案 雇员 问题表包含问题的ID、描述、报告人的ID 解决方案表包含解决方案的ID,说明,以及解决问题的人员的ID Employee表包含一个ID,即公司所有员工的名字和姓氏 解算器和报告器的ID与员工的ID相关 我想写一个查询,给出问题和解决方案的描述,以及报告和解决问题的员工的名字和姓氏 这是我必须选择除解算器名称以外的所有需要的查询 SELECT P.ProblemID, P.Description AS
- 问题
- 解决方案
- 雇员
问题
表包含问题的ID
、描述、报告人的ID
解决方案
表包含解决方案的ID
,说明
,以及解决问题的人员的ID
Employee
表包含一个ID
,即公司所有员工的名字和姓氏
解算器和报告器的ID与员工的ID相关
我想写一个查询,给出问题和解决方案的描述,以及报告和解决问题的员工的名字和姓氏
这是我必须选择除解算器名称以外的所有需要的查询
SELECT
P.ProblemID,
P.Description AS ProblemDescription,
P.SolutionID,
P.ReporterID,
E.FirstName,
E.LastName,
S.SolverID,
S.Description AS SolutionDescription
FROM
(tblProblem P
LEFT OUTER JOIN
tblEmployee E ON P.ReporterID = E.EmployeeID)
LEFT OUTER JOIN
tblSolution S ON P.SolutionID = S.SolutionID;
我真的希望有人能帮我
提前谢谢 您还需要加入标记为解算器的员工。遵循您的风格,但不知道确切的列名:
SELECT
P.ProblemID,
P.Description AS ProblemDescription,
P.SolutionID,
P.ReporterID,
E.FirstName,
E.LastName,
S.SolverID,
S.Description AS SolutionDescription,
E2.FirstName as SolverFirstName,
E2.LastName as SolverLastName
从
只需再次加入employee表,一次用于解算器,一次用于报告器:
SELECT P.ProblemID,
P.Description AS ProblemDescription,
P.SolutionID,
P.ReporterID,
RE.FirstName as ReporterFirstname,
RE.LastName as ReporterLastname,
S.SolverID,
S.Description AS SolutionDescription,
SE.FirstName as SolverFirstname,
SE.LastName as SolverLastname
FROM
((tblProblem P LEFT OUTER JOIN
tblEmployee RE ON P.ReporterID = RE.EmployeeID) LEFT OUTER JOIN
tblSolution S ON P.SolutionID = S.SolutionID) LEFT OUTER JOIN
tblEmployee SE ON P.ReporterID = SE.EmployeeID
附言:我看见你用括号。您正在使用Access吗?如果是这样的话,我希望我做对了。我确实在使用Access,您也做对了:)非常感谢您的帮助!
SELECT P.ProblemID,
P.Description AS ProblemDescription,
P.SolutionID,
P.ReporterID,
RE.FirstName as ReporterFirstname,
RE.LastName as ReporterLastname,
S.SolverID,
S.Description AS SolutionDescription,
SE.FirstName as SolverFirstname,
SE.LastName as SolverLastname
FROM
((tblProblem P LEFT OUTER JOIN
tblEmployee RE ON P.ReporterID = RE.EmployeeID) LEFT OUTER JOIN
tblSolution S ON P.SolutionID = S.SolutionID) LEFT OUTER JOIN
tblEmployee SE ON P.ReporterID = SE.EmployeeID