左联接不会将不匹配的行返回为空

NRad

在我的左表中,我拥有所有EMP信息以及所有可能的资产,因此所有员工都被分配参加数据库中列出的所有课程。AND正确的表我只有参加或正在参加课程的员工。(两个表均为查询,其结果正确)

我想在两个表(查询)之间进行Left联接,所以我从Left-Table联合Right-Table中获得了所有具有新列的雇员(完成日期和完成状态)!

但是,当我进行左联接时,它将返回我的所有行,并用“完成状态”或“进行中”的“完成状态”的两种可能性来填充空白。当我添加“完成日期”并返回一些随机日期并填写“完成日期”的所有行并对以下资产标题重复这些行时,会发生最愚蠢的事情。

我的结果应该是所有带有所需课程的EMP联合课程的清单,其状态为课程,此人是否已完成课程,我希望所有不相关的行都为空。您是否愿意检查我的代码,并让我知道什么可能导致此问题?谢谢

SELECT qryEmployeeCourse.[EMP ID], qryEmployeeCourse.Name, qryEmployeeCourse.Role, qryEmployeeCourse.Location, qryEmployeeCourse.Region, qryEmployeeCourse.[Asset ID], qryEmployeeCourse.[Asset Title], qryCourseStatus.[Completion Status]

FROM qryEmployeeCourse LEFT JOIN qryCourseStatus ON qryEmployeeCourse.[EMP ID] = qryCourseStatus.Username

GROUP BY qryEmployeeCourse.[EMP ID], qryEmployeeCourse.Name, qryEmployeeCourse.Role, qryEmployeeCourse.Location, qryEmployeeCourse.Region, qryEmployeeCourse.[Asset ID], qryEmployeeCourse.[Asset Title], qryCourseStatus.[Completion Status]
ORDER BY qryEmployeeCourse.Name, qryEmployeeCourse.Role, qryEmployeeCourse.Location;

http://i.stack.imgur.com/0zNVz.png这是我的表格和结果的图片。

院长

在我看来,您的LEFT JOIN应该是

qryCourseStatus ON qryEmployeeCourse.[EMP ID] = qryCourseStatus.Username AND qryEmployeeCourse.AssetID = qryCourseStatus.AssetID

否则,您将获得交叉联接(对于每个员工,qryEmployeeCourse中的所有行与qryCourseStatus中的所有行)。

在屏幕快照的第一组结果中,您只会得到两行,因为雇员在qryCourseStatus中的记录只有两个不同的状态CompletedIn progress,并且您的组将删除所有其他重复项。

在第二组结果中,您将获得更多的行,因为要添加Completion Date的行对此员工有7个不同的值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

左联接不会返回Null?

来自分类Dev

左联接,右为空

来自分类Dev

MySQL用额外的子句左联接返回不匹配的行

来自分类Dev

左联接,即使SQL为空

来自分类Dev

即使左联接为空也显示字段

来自分类Dev

即使存在匹配的值,左联接也会返回null

来自分类Dev

sql左联接返回

来自分类Dev

sql左联接返回

来自分类Dev

退位将不会将行放置在正确的位置

来自分类Dev

退位将不会将行放置在正确的位置

来自分类Dev

MySQL左联接-不为空或第一行

来自分类Dev

仅返回最后一行左联接

来自分类Dev

左联接不返回其他表的所有行

来自分类Dev

左联接不返回左表中的所有行

来自分类Dev

左联接排除匹配记录?

来自分类Dev

左联接和指标匹配

来自分类Dev

当联接表的前1列与主表的列匹配时,使用“左联接”的SQL查询返回结果

来自分类Dev

PHP左联接无法联接匹配记录

来自分类Dev

左联接返回错误值

来自分类Dev

使用条件行左联接

来自分类Dev

RethinkDB-左联接,其中joined_table.identifier为空?

来自分类Dev

SQL左联接仅返回一行,而不返回多行

来自分类Dev

SQL左联接仅返回一行,而不返回多行

来自分类Dev

联接-在两个表上使用过滤器进行左联接,如果不匹配,则返回零

来自分类Dev

SQL左联接仅先匹配

来自分类Dev

按参数模式匹配并左联接

来自分类Dev

SQL查询在左联接中没有匹配的行时获取所有行

来自分类Dev

左联接中的错误空引用

来自分类Dev

Linq中的左联接与可为空的引用