gpt4 book ai didi

sql - MS Access SQL 查询不存在

转载 作者:行者123 更新时间:2023-12-01 09:55:01 27 4
gpt4 key购买 nike

我一直在尝试弄清楚如何返回一个表中的数据而不是另一个表中的数据。我认为外部连接会起作用,但 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谢谢

最佳答案

如果您的“ComplianceMonth”值始终存在,而不管您的相邻数据如何(意味着如果为您的 ComplianceMonth 返回的相邻数据为 NULL),那么您可以执行类似的操作。

    SELECT REF_TestCategory_tbl.CategoryID, 
MonthlyTargets_0_SPARTN_qry.[Supervisor Id] AS TestOfficerID,
coalesce(Count(MonthlyTargets_0_SPARTN_qry.[Sheet ID]),0) AS Actuals,
MonthlyTargets_0_SPARTN_qry.ComplianceMonth
FROM dbo.MonthlyTargets_0_SPARTN_qry RIGHT OUTER JOIN
dbo.REF_TestCategory_tbl RIGHT OUTER JOIN
dbo.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

希望这对您有所帮助。

关于sql - MS Access SQL 查询不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60193700/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com