【问题标题】:Circular Reference in MS AccessMS Access 中的循环引用
【发布时间】:2013-05-19 07:46:09
【问题描述】:

我在 Microsoft Access SQL 中遇到循环引用错误。

SELECT a.PlateNo, a.colm, a.alain
FROM (SELECT PlateNo, alain, min(InspectionDate) AS colm
      FROM [Vehicle Spot Check] GROUP BY PlateNo)
  AS a
INNER JOIN [Vehicle Spot Check] AS m
ON (a.alain = m.WithoutDefects) AND (a.colm = m.InspectionDate)
  AND (a.PlateNo = m.PlateNo);

我收到此错误:

Circular reference caused by alias '' in query definition's Select List. 

我不知道是哪一个,因为没有指定字段。我的主要嫌疑人是m.WithoutDefects,但我已经仔细检查过了。有没有办法找到这个?我在想的也是“Inner Join”之后的语法问题。

【问题讨论】:

    标签: sql ms-access ms-access-2007


    【解决方案1】:

    我怀疑这与您的“AS”中的一个或两个有关。如果您有一个名为colmm 的列,则不能将“AS”的结果命名为当前列值。尝试将colmm 替换为其他内容,例如colm_m_

    SELECT a.PlateNo, a.colm, a.alain
    FROM (SELECT PlateNo, alain, min(InspectionDate) AS colm_
          FROM [Vehicle Spot Check] GROUP BY PlateNo)
      AS a
    INNER JOIN [Vehicle Spot Check] AS m_
    ON (a.alain = m.WithoutDefects) AND (a.colm = m.InspectionDate)
      AND (a.PlateNo = m.PlateNo);
    

    【讨论】:

      【解决方案2】:

      我是来自印度的Bhanu Bhanot

      使用这个

      选择 E.id 作为 ID, E.dte AS 日期, E.Billno AS 'Bill No', E.LRno AS 'LR 编号', P1.PartyName AS '发送方', 数量, E.PVT_Marka AS 'PVT Marka', P2.PartyName AS '接收方', E.金额, E.CGST, E.SGST, E.IGST, E.TotalAmount AS '总金额' FROM(Entry AS E INNER JOIN Party AS P1 ON E.PartySenderId = P1.id) LEFT JOIN Party AS P2 ON E.PartyReceiverId = P2.id ORDER BY E.id;

      不是这个

      选择 ID 作为 ID, E.dte AS 日期, E.Billno AS 'Bill No', E.LRno AS 'LR 编号', P1.PartyName AS '发送方', 数量, E.PVT_Marka AS 'PVT Marka', P2.PartyName AS '接收方', E.金额, E.CGST, E.SGST, E.IGST, E.TotalAmount AS '总金额' FROM(Entry AS E INNER JOIN Party AS P1 ON E.PartySenderId = P1.id) LEFT JOIN Party AS P2 ON E.PartyReceiverId = P2.id ORDER BY id;

      原因

      id 字段存在于EntryParty 表中。识别表应该指定E.id而不是id

      它正在工作..

      【讨论】:

        猜你喜欢
        • 2023-03-20
        • 2014-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-25
        • 1970-01-01
        相关资源
        最近更新 更多