我有两个表,我正试图用一个名为"job_id"的列连接它们。第一个表"承诺"包含有关项目详细信息,第二个表"作业"包含有关分配给作业的项目经理的详细信息。
我想将两者连接在一起,并返回"承诺"中对应于其项目经理(承诺.project_manager)的所有行。
因此,项目经理被分配了多个项目(包含在作业中),每个项目都有关于它的多个详细信息(在"承诺"中),所以在链的上游,我的查询应该返回与作业中的项目经理相关联的"承诺"链的所有行。
这是我当前的查询,但它只是返回Commissions的所有结果:
$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