Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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 不支持联接表达式-MS Access 2013_Sql_Ms Access_Join_Left Join - Fatal编程技术网

Sql 不支持联接表达式-MS Access 2013

Sql 不支持联接表达式-MS Access 2013,sql,ms-access,join,left-join,Sql,Ms Access,Join,Left Join,我正在开发一个员工管理系统,这里我需要在法官和职位表上加入,但MS Access显示“不支持加入表达式”。我不明白哪里出错了 下面是我的全部问题 SELECT [a.emp_name], [b.des_name], FORMAT([c.dte_frm], 'dd.MM.yyyy') AS dte_frm, iif([d.crt_nat] = 'court', [e.jdg_name]&', '&[f.dsg_name], [d.crt_name]&' '&[d.c

我正在开发一个员工管理系统,这里我需要在法官和职位表上加入,但MS Access显示“不支持加入表达式”。我不明白哪里出错了

下面是我的全部问题

SELECT [a.emp_name], [b.des_name], FORMAT([c.dte_frm], 'dd.MM.yyyy') AS
dte_frm, iif([d.crt_nat] = 'court', [e.jdg_name]&', '&[f.dsg_name],
[d.crt_name]&' '&[d.crt_loc]) AS location, [a.emp_teh] AS tehsil,
[a.remarks] AS remarks
FROM employees a, designation b, courts d, postings c
LEFT JOIN judges e ON [c].crt_id = [e].crt_id
WHERE [c.des_id] = [b.des_id]
AND [a.emp_cod] = [c.emp_id]
AND [c.crt_id] = [d.crt_id]
AND [c.to_dte] = 1
AND [c.other_dist] = 0
ORDER BY [d.crt_sort], [a.emp_bps] DESC , [b.des_name] ASC

请帮我纠正这个问题。

您将两种类型的
JOIN
混合在一起,这本身就不好。您应该在任何地方使用显式联接。此外,还不清楚联接
employees
designation
表的关系。看起来它们现在正在交叉连接。Access有一种用括号之类的疯狂连接方式。尝试将其放在括号中:
(在[c].crt\u id=[e].crt\u id上发布c左连接判断e)
当您使用旧式连接时(即,在FROM子句中添加所有表,然后在where子句中连接它们),此处称为内部连接。尝试使用@TimBiegeleisen提到的相同类型的联接。还要检查关于内部联接和左/右联接冲突的解释。