【问题标题】:Select from named query从命名查询中选择
【发布时间】:2013-08-28 15:50:19
【问题描述】:

我在 MS Access 2013 中遇到以下查询问题:

SELECT *
FROM (((
      (SELECT Stop.TAGeoID AS TAGeoID,
              Trip.TripNo AS TripNo
       FROM ((((Trip
                INNER JOIN BTStopTimes ON Trip.TripNo = BTStopTimes.TripNumber)
               INNER JOIN TripsTxt ON (Trip.TripNo = TripsTxt.trip_id
                                       AND Left(TripsTxt.shape_id, 3) <> 'ELD'))
              INNER JOIN PatternDetail ON Trip.PatternID = PatternDetail.PatternID
              AND BTStopTimes.Sequence = PatternDetail.StopSortOrder)
             INNER JOIN Stop ON Stop.GeoID = PatternDetail.GeoID)) AS t3
    LEFT JOIN
      (SELECT F10,
              F16
       FROM PatternStopsRaw
       WHERE F16 <> ''
       GROUP BY F10,
                F16)R ON R.F10 = t3.TAGeoID)
   LEFT JOIN Timepoint ON Timepoint.PlaceID = R.F16)
  LEFT JOIN
    (SELECT *
     FROM t3
     INNER JOIN TripDetail ON t3.TripNo = TripDetail.TripNo)TripTripDetail ON (Timepoint.TimePointID = TripTripDetail.TimepointID))

说有语法错误

The Microsoft Access database engine cannot find the input table or query t3. Make sure it exists and that its name is spelled correctly

似乎 Access 不允许从同一查询中的命名查询中进行选择。

有什么建议吗?

PS:* 仅用于测试目的,一旦我有工作查询,我将删除它们。

【问题讨论】:

    标签: sql ms-access ms-access-2013


    【解决方案1】:

    是的,Access 似乎无法识别该级别的 [t3] 别名。也许您可以尝试创建查询...

    SELECT Stop.TAGeoID AS TAGeoID,
                  Trip.TripNo AS TripNo
           FROM ((((Trip
                    INNER JOIN BTStopTimes ON Trip.TripNo = BTStopTimes.TripNumber)
                   INNER JOIN TripsTxt ON (Trip.TripNo = TripsTxt.trip_id
                                           AND Left(TripsTxt.shape_id, 3) <> 'ELD'))
                  INNER JOIN PatternDetail ON Trip.PatternID = PatternDetail.PatternID
                  AND BTStopTimes.Sequence = PatternDetail.StopSortOrder)
                 INNER JOIN Stop ON Stop.GeoID = PatternDetail.GeoID)
    

    ...作为 Access 中保存的查询,将其命名为 [t3],然后在主查询中引用它。

    【讨论】:

    • 这是我的选择,但我试图避免保存的查询。无论如何,既然你的回答是正确的,我就接受它。谢谢!
    猜你喜欢
    • 2011-04-20
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 2021-09-12
    相关资源
    最近更新 更多