指定的字段[Report]。[Field]可以引用SQL语句的FROM子句中列出的多个表

时间:2019-03-05 15:48:58

标签: sql ms-access ms-query

我正在基于Microsoft Access中的查询创建报告,从设计视图切换到报告视图时,我始终收到错误消息。

  

指定的字段“ [客户报告]。[需要日期]”可以引用多个   SQL语句的FROM子句中列出的一张表。

我已经搜索了已经提出的问题,并且看起来似乎,答案很简单:我只需要指定SQL编码中[需要日期]来自哪个表。但是,我已经这样做了,并且错误消息继续发生。这是我的报告基于的查询的编码:

SELECT 
    [UID Only].[Our PN], 
    [UID Only].[Customer PN], 
    [UID Only].Description, 
    [UID Only].[Order #], 
    [UID Only].[Customer PO], 
    [UID Only].[Need Date], 
    [Customer Report].[Need Date], 
    [UID Only].[Unique ID]
FROM ([UID Only] 
LEFT JOIN [UID, Date] ON [UID Only].[Unique ID] = [UID, Date].[Unique ID]) 
LEFT JOIN [Customer Report] ON [UID Only].[Unique ID] = [Customer Report].[Unique ID]
WHERE [UID, Date].[Unique ID] Is Null;

1 个答案:

答案 0 :(得分:0)

错误来自报表,而不是查询本身。 上面显示的查询产生的记录包含两个名为[Need Date]的字段,报告无法区分它们。给他们提供不同的别名

SELECT
    [UID Only].[Our PN], 
    [UID Only].[Customer PN], 
    [UID Only].Description, 
    [UID Only].[Order #], 
    [UID Only].[Customer PO], 
    [UID Only].[Need Date] AS UO_NeedDate,
    [Customer Report].[Need Date] AS CR_NeedDate,
    [UID Only].[Unique ID]
FROM ([UID Only] 
LEFT JOIN [UID, Date] ON [UID Only].[Unique ID] = [UID, Date].[Unique ID]) 
LEFT JOIN [Customer Report] ON [UID Only].[Unique ID] = [Customer Report].[Unique ID]
WHERE [UID, Date].[Unique ID] Is Null;

现在,您可以在报告中将它们称为UO_NeedDateCR_NeedDate