Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
跨表引用MSSQL语句_Sql_Sql Server - Fatal编程技术网

跨表引用MSSQL语句

跨表引用MSSQL语句,sql,sql-server,Sql,Sql Server,所以我有两张桌子,纪律和员工。纪律处分有一列,列出员工ID(调查员),并尝试导入从员工表中提取的新列,这些列根据纪律处分表中的现有员工ID生成员工的名字和姓氏。以下是迄今为止我掌握的SQL: SELECT d.* , inv.firstName as investigatorFirstName , inv.lastName as investigatorLastName FROM det_siu_disciplinary d LEFT OUTER JO

所以我有两张桌子,纪律和员工。纪律处分有一列,列出员工ID(调查员),并尝试导入从员工表中提取的新列,这些列根据纪律处分表中的现有员工ID生成员工的名字和姓氏。以下是迄今为止我掌握的SQL:

    SELECT d.*
    , inv.firstName as investigatorFirstName
    , inv.lastName as investigatorLastName

    FROM det_siu_disciplinary d

    LEFT OUTER JOIN cpso_employees inv ON
    inv.commissionNumber = d.investigatorEmployeeID

    WHERE d.isDelete = 0
此语句成功地添加了具有新名称的联接列,但所有列均为空。我主要担心的是我的SQL完全错误,因为这是这个过程中我最没有经验的部分。这些语句是一个更大的查询的一部分,因此如果可能的话,我宁愿不编写新的查询…添加意外事件将是完美的


任何提供帮助的人,请提前感谢:)

主键列“CommissionNumber”在我看来不太可能是包含“EmployeeID”值的表的主键,以便连接到d表的外键列。

语法完全正确。这真的是
佣金编号
ingestigatorEmployeeID
reportingEmployeeID
之间的关系吗?null表示在给定的
ON
条件下,两个左联接中根本没有匹配的记录。如果您能勾勒出表的示例,将更容易提供帮助。发布每个表的一个小样本以及预期的输出将有助于此。@DarrenMB您是正确的,主键不是commissionNumber,而是如上所述的employeeID。你认为我没有引用主键是我的问题吗?@DarrenMB你赢了!将“commissionNumber”更改为“employeeID”完成了任务,谢谢!现在如果我能想出如何投票给你。。。