在 MSSQL 中加入两个表,并且只有 return 行在字段中具有特定值
Join two tables in MSSQL and only return rows with a certain value in a field
我有两个 table 试图加入一个名为 "job_id" 的列。第一个 table、"Commitments" 包含有关项目详细信息的信息,第二个 table,称为 "Jobs",包含有关分配给某项工作的项目经理的详细信息。
我想将两者连接在一起,return "Commitments" 中与他们的项目经理 (Commitments.Project_Manager) 相对应的所有行。
所以,一个项目经理被分配了多个项目(包含在工作中),每个项目都有多个关于它的详细信息(在承诺中),所以沿着链向上,我的查询应该 return 所有行在与工作中的项目经理相关联的承诺中上升链。
这是我当前的查询,但它只是 return 承诺的所有结果:
$sql = "SELECT * FROM Commitments
LEFT JOIN Jobs
ON Commitments.job_id=Jobs.job_id
AND Jobs.Project_Manager LIKE :projectmanager"
这是在 PHP/MSSQL 中完成的,两者之间有一个 ODBC 连接。
抱歉,如果这真的很简单,我对 SQL 查询感到很糟糕。谢谢!
如果您想要 Project_Manager 即使没有承诺:
SELECT *
FROM Jobs LEFT JOIN Commitments
ON Commitments.job_id=Jobs.job_id
WHERE Jobs.Project_Manager LIKE :projectmanager
或者如果您只想 Project_Manager 承诺:
SELECT *
FROM Jobs inner JOIN Commitments
ON Commitments.job_id=Jobs.job_id
WHERE Jobs.Project_Manager LIKE :projectmanager
尝试以下操作:
SELECT * FROM
Jobs j INNER JOIN Commitments c on j.job_id = c.job_id
WHERE j.project_manager LIKE :projectmanager
我有两个 table 试图加入一个名为 "job_id" 的列。第一个 table、"Commitments" 包含有关项目详细信息的信息,第二个 table,称为 "Jobs",包含有关分配给某项工作的项目经理的详细信息。
我想将两者连接在一起,return "Commitments" 中与他们的项目经理 (Commitments.Project_Manager) 相对应的所有行。
所以,一个项目经理被分配了多个项目(包含在工作中),每个项目都有多个关于它的详细信息(在承诺中),所以沿着链向上,我的查询应该 return 所有行在与工作中的项目经理相关联的承诺中上升链。
这是我当前的查询,但它只是 return 承诺的所有结果:
$sql = "SELECT * FROM Commitments
LEFT JOIN Jobs
ON Commitments.job_id=Jobs.job_id
AND Jobs.Project_Manager LIKE :projectmanager"
这是在 PHP/MSSQL 中完成的,两者之间有一个 ODBC 连接。
抱歉,如果这真的很简单,我对 SQL 查询感到很糟糕。谢谢!
如果您想要 Project_Manager 即使没有承诺:
SELECT *
FROM Jobs LEFT JOIN Commitments
ON Commitments.job_id=Jobs.job_id
WHERE Jobs.Project_Manager LIKE :projectmanager
或者如果您只想 Project_Manager 承诺:
SELECT *
FROM Jobs inner JOIN Commitments
ON Commitments.job_id=Jobs.job_id
WHERE Jobs.Project_Manager LIKE :projectmanager
尝试以下操作:
SELECT * FROM
Jobs j INNER JOIN Commitments c on j.job_id = c.job_id
WHERE j.project_manager LIKE :projectmanager