【发布时间】:2020-05-28 07:51:18
【问题描述】:
我一直在试图弄清楚如何返回一个表中而不是另一个表中的数据。我认为外部连接会起作用,但似乎 Access 不允许这样做。
如果 MonthlyTargets_0_SPARTN_qry 中存在记录,我的 SQL 将返回结果,但如果没有记录,则不会返回任何数据。如果没有记录,我想显示一个 0。
我的sql是:
SELECT REF_TestCategory_tbl.CategoryID
,MonthlyTargets_0_SPARTN_qry.[Supervisor Id] AS TestOfficerID
,Count(MonthlyTargets_0_SPARTN_qry.[Sheet ID]) AS Actuals
,MonthlyTargets_0_SPARTN_qry.ComplianceMonth
FROM MonthlyTargets_0_SPARTN_qry
INNER JOIN (
REF_TestCategory_tbl INNER JOIN REF_TestCatalog_tbl ON REF_TestCategory_tbl.CategoryID = REF_TestCatalog_tbl.TestCategory
) ON MonthlyTargets_0_SPARTN_qry.[Test Number] = REF_TestCatalog_tbl.TestID
GROUP BY REF_TestCategory_tbl.CategoryID
,MonthlyTargets_0_SPARTN_qry.[Supervisor Id]
,MonthlyTargets_0_SPARTN_qry.ComplianceMonth
ORDER BY REF_TestCategory_tbl.CategoryID;
返回:
CategoryID TestOfficerID Actuals ComplianceMonth
1 3062 26 1/1/2020
1 3062 6 2/1/2020
2 3062 2 1/1/2020
3 3062 2 1/1/2020
3 3062 1 2/1/2020
如果 2 月没有记录,我需要它在 Actuals 中重新返回 0 谢谢
【问题讨论】:
-
↑ 你可以这样做,然后检查表的 PK 列是否为 NULL。
-
或者你也可以使用
where not exists也可以。 -
sql 将如何查找?
标签: sql ms-access not-exists