Jud*_*ski 4 ms-access left-join
我已经尝试了在这种情况下返回值的所有公式,但不断收到错误消息,告诉我我的参数数量错误。这是我的查询:
SELECT [ER Root].[Network Indicator],
[ER Root].[Prov Indicator],
[ER Root].[Pos Indicator],
[ER].[ER Visit]
FROM [ER Root] LEFT JOIN ER ON ([ER Root].[Network Indicator] = ER.[Network Flag]) AND ([ER Root].[Pos Indicator] = ER.[POS Indicator]) AND ([ER Root].[Prov Indicator] = ER.[Category Indicator]);
Run Code Online (Sandbox Code Playgroud)
我试过了:
SELECT [ER Root].[Network Indicator],
[ER Root].[Prov Indicator],
[ER Root].[Pos Indicator],
ISNULL([ER].[ER Visit],0) AS "ER Visit"
FROM [ER Root] LEFT JOIN ER ON ([ER Root].[Network Indicator] = ER.[Network Flag]) AND ([ER Root].[Pos Indicator] = ER.[POS Indicator]) AND ([ER Root].[Prov Indicator] = ER.[Category Indicator
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Access'ISNULL函数只接受一个参数并返回一个布尔值。
如果您想0在[ER Visit]为 Null时返回,您可以Nz在从 Access 会话中运行的查询中使用。
SELECT Nz([ER Visit], 0) AS ER_Visit
Run Code Online (Sandbox Code Playgroud)
请注意,我用作ER_Visit别名是因为如果您尝试将字段名称重新用作别名,数据库引擎可能会抱怨“循环”引用。
如果您从 Access 会话外部(如从经典 ASP 或 .Net)运行查询,则该Nz功能将不可用。你可以这样做......
SELECT IIf([ER Visit] Is Null, 0, [ER Visit]) AS ER_Visit
Run Code Online (Sandbox Code Playgroud)