首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询未在MS Access中运行。(Join和From语句)

查询未在MS Access中运行。(Join和From语句)
EN

Stack Overflow用户
提问于 2019-12-17 08:08:04
回答 1查看 37关注 0票数 0
代码语言:javascript
复制
SELECT
    DL.DESCRIPTION
    , DL.ASSIGNEE
    , DL.LASTASSIGNEE
    , LU.BARCODE
    , FORMAT(D.ai_created, 'yyyy-MM-dd HH') AS [DATE AND HOUR CREATED]
    , SUM(DL.QUANTITY) AS [ITEM COUNT]
    , DL.MATERIAL_ID
    , (ACT.firstname & ' ' & ACT.lastname) AS [INDUCTORNAME]
    , D.ID AS [DLID]
FROM ANT_WMSDEMAND AS D
INNER JOIN ANT_WMSDEMANDLINE AS DL ON DL.DEMAND_ID = D.ID
INNER JOIN ANT_WMSLOADUNIT AS LU ON LU.ID = DL.LOADUNIT_ID
INNER JOIN ANT_ACTOR AS ACT on ACT.name = LEFT(DL.AI_CREATEDBY, 7)
WHERE 
    D.ai_created between CDATE('2019-12-15 06:00:00') ABD CDATE('2019-12-15 17:30:00')
    AND D.type = 'ORDER'
    AND D.STATE = 'ACTIVATED'
    AND D.REPORTER = 'PICKING_STATION'
GROUP BY 
    DL.DESCRIPTION, 
    DL.ASSIGNEE, 
    DL.LASTASSIGNEE, 
    LU.BARCODE, 
    FORMAT$(D.ai_created, 'yyyy-MM-dd HH'), 
    DL.MATERIAL_ID, 
    (ACT.firstname &' ' & ACT.lastname), 
    D.ID
ORDER BY FORMAT(D.ai_created, 'yyyy-MM-dd HH') ASC

from语句和join语句需要有括号,但我还不能弄清楚如何使其正确工作。我尝试在查询构建器中执行此操作,但仍然失败。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-17 08:30:06

当存在多个联接时,MS Access要求连续联接为surrounded by parentheses,因此您的查询应为:

代码语言:javascript
复制
SELECT
    DL.DESCRIPTION
    , DL.ASSIGNEE
    , DL.LASTASSIGNEE
    , LU.BARCODE
    , FORMAT(D.ai_created, 'yyyy-MM-dd HH') AS [DATE AND HOUR CREATED]
    , SUM(DL.QUANTITY) AS [ITEM COUNT]
    , DL.MATERIAL_ID
    , (ACT.firstname & ' ' & ACT.lastname) AS [INDUCTORNAME]
    , D.ID AS [DLID]
FROM 
    (
        (
            ANT_WMSDEMAND AS D INNER JOIN ANT_WMSDEMANDLINE AS DL ON
            DL.DEMAND_ID = D.ID
        )
        INNER JOIN ANT_WMSLOADUNIT AS LU ON 
        LU.ID = DL.LOADUNIT_ID
    )
    INNER JOIN ANT_ACTOR AS ACT ON 
    ACT.name = LEFT(DL.AI_CREATEDBY, 7)
WHERE 
    D.ai_created between #2019-12-15 06:00:00# AND #2019-12-15 17:30:00#
    AND D.type = 'ORDER'
    AND D.STATE = 'ACTIVATED'
    AND D.REPORTER = 'PICKING_STATION'
GROUP BY 
    DL.DESCRIPTION, 
    DL.ASSIGNEE, 
    DL.LASTASSIGNEE, 
    LU.BARCODE, 
    FORMAT(D.ai_created, 'yyyy-MM-dd HH'), 
    DL.MATERIAL_ID, 
    (ACT.firstname &' ' & ACT.lastname), 
    D.ID
ORDER BY 
    FORMAT(D.ai_created, 'yyyy-MM-dd HH') ASC

您的between语句中也有一个拼写错误:

代码语言:javascript
复制
D.ai_created between CDATE('2019-12-15 06:00:00') ABD CDATE('2019-12-15 17:30:00')

ABD应为AND

这两个cdate表达式也可以写成文字日期时间值:

代码语言:javascript
复制
D.ai_created between #2019-12-15 06:00:00# AND #2019-12-15 17:30:00#
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59365913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档