简体   繁体   English

MS Access 2010 查询等效项

[英]MS Access 2010 Query Equivalent

Its my second day with MS Access, i am trying to update an existing application.这是我使用 MS Access 的第二天,我正在尝试更新现有应用程序。 And this includes updating some queries.这包括更新一些查询。 I never knew it was going to be so complex.我从来不知道它会如此复杂。 the parenthesis issue in Access is really disturbing and i hit the wall, i get the "syntax error" error. Access 中的括号问题真的很令人不安,我碰壁了,出现“语法错误”错误。 My SQL query is something like this :我的 SQL 查询是这样的:

Select ….(Something)
Into …. (Some Table)
From A
Inner join B on A.ID=B.ID
LEFT OUTER JOIN STAR as C on C.ID = A.ID
    AND C.Data = ’DEMO1’
    AND C.POS= ’POS1’
LEFT OUTER JOIN STAR as D on D.ID = A.ID
    AND D.Data = ’DEMO2’
    AND D.POS= ‘POS2’
LEFT OUTER JOIN STAR as E on E.ID = A.ID
    AND E.Data = ’DEMO3’
    AND E.POS= ‘POS3’

And in access, its equivalent that i am trying is :在访问中,我正在尝试的等价物是:

Select ….
Into ….
From (((A
Inner join B on A.ID=B.ID)
LEFT OUTER JOIN STAR as C (on C.ID = A.ID
    AND C.Data = ’DEMO1’
    AND C.POS= ’POS1’)
LEFT OUTER JOIN STAR as D (on D.ID = A.ID
    AND D.Data = ’DEMO2’
    AND D.POS= ‘POS2’)
LEFT OUTER JOIN STAR as E on E.ID = A.ID
    AND E.Data = ’DEMO3’
    AND E.POS= ‘POS3’

consider考虑

Select ….
Into ….
From 
(A Inner join B on A.ID=B.ID) LEFT OUTER JOIN 
STAR as C on 
C.ID = A.ID AND 
((C.Data =  ’DEMO1’ AND C.POS= ’POS1’) OR
(C.Data =  ’DEMO2’ AND C.POS= ’POS2’) or
(C.Data =  ’DEMO3’ AND C.POS= ’POS3’))

Finally got my way through parenthesis.终于通过括号找到了我的方式。

 Select ….
    Into ….
    From (((A
    Inner join B on A.ID=B.ID)
    LEFT OUTER JOIN STAR as C on (C.ID = A.ID
        AND C.Data = ’DEMO1’
        AND C.POS= ’POS1’))
    LEFT OUTER JOIN STAR as D on (D.ID = A.ID
        AND D.Data = ’DEMO2’
        AND D.POS= ‘POS2’))
    LEFT OUTER JOIN STAR as E on (E.ID = A.ID
        AND E.Data = ’DEMO3’
        AND E.POS= ‘POS3’)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM