Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
Sql 我可以将IN子句与LEFT JOIN子句一起使用吗_Sql_Ms Access - Fatal编程技术网

Sql 我可以将IN子句与LEFT JOIN子句一起使用吗

Sql 我可以将IN子句与LEFT JOIN子句一起使用吗,sql,ms-access,Sql,Ms Access,注意:这个问题涉及FROM语句中的IN子句,它允许您引用外部数据库。请不要将其与可能存在于WHERE子句中的IN语句混淆 版本:MS Access 2016 外部表位于本地网络上 我试图做的关键是从外部ACCDB数据库中获取一个[Employee]表,并将其连接到本地[Employees]note's表。我正在尝试生成尚未添加到本地[employees]表中的未终止雇佣关系的员工列表。例如: SELECT Employee.Last_Name, Employee.First_Name, Empl

注意:这个问题涉及FROM语句中的IN子句,它允许您引用外部数据库。请不要将其与可能存在于WHERE子句中的IN语句混淆

版本:MS Access 2016

外部表位于本地网络上

我试图做的关键是从外部ACCDB数据库中获取一个[Employee]表,并将其连接到本地[Employees]note's表。我正在尝试生成尚未添加到本地[employees]表中的未终止雇佣关系的员工列表。例如:

SELECT Employee.Last_Name, Employee.First_Name, Employee.Job_Title
FROM Employee IN "\\{full path}\Time Clock 1.0_be.accdb" 
LEFT JOIN Employees
ON Employee.Last_Name = Employees.LastName
AND Employee.First_Name = Employees.FirstName
WHERE Employees.FirstName IS NULL
AND Employee.Termination_Date = ""
ORDER BY Employee.Last_Name, Employee.First_Name;
只有上面的SQL不起作用。Access在FROM子句中给了我一个非常没有帮助的语法错误,这让我神经质的精神错乱变得更加明亮

IN子句是否必须最后一个,它是否影响两个表?地址:

他们说它可以与一个左联接结合,但他们没有指定这两个表是否都必须是外部的


您甚至可以将一个表从外部DB连接到本地表吗?我真的不想正式地链接这个表,因为这个查询只会偶尔运行,我不想让更多的流量ping时钟后端数据库。现在已经够慢了

回答我原来的问题:

@cha建议我使用嵌套查询是正确的。这解决了将内部表连接到外部表的问题

@Gord Thompson有一种更具体的方式来引用外部DB,在这个简单的例子中,它比IN子句更清晰。当连接到不同类型的外部数据库时,程序员可能希望使用IN子句,因为它使您能够指定IN子句中的所有内容

最后,这些都没有帮助我,因为我钟爱的train-Crank-of-a-database使用多值字段,Access不会将具有多值字段的内部表链接到外部表

那些跟随你的人,也许你自己,会感谢你观察第一、第二和第三范式,除非在最不寻常和仔细考虑的情况下,并且永远不会使用多值字段,而不是为多对多关系链接表


你好

试试看。。。从[\{full path}\Time Clock 1.0\u be.accdb].Employee开始…为什么不在\\{full path}\Time Clock 1.0\u be.accdb中为员工创建一个单独的外部查询并引用它呢?或者,更好的是,为什么不创建一个链接表呢?@gordthompson这似乎是引用外部表的一种更简单的方法。使其成为嵌套的SELECT语句使原始错误消失,但现在它使我无法使用引用其他数据库的FROM子句引用具有多值字段的表。提醒每个人不要屈服于使用多值字段来避免链接表的诱惑。诅咒我的前任>:。我真的不想创建一个链接表,但我开始看到墙上的文字。