使用UNION ALL查询在FROM子句中获取语法错误

时间:2019-07-15 15:37:29

标签: sql syntax union-all

我有一个“联合全部”查询,当前正在运行该查询。我试图将它们合并为一件事,并要求所有查询也都组成表。我正在这里快速学习,任何人都在尝试使用INTO方法,该方法可以像make表一样工作,但是一旦添加UNION ALL,我就会收到语法错误。

任何对我做错事的帮助将不胜感激。

'echelon_from', 'section_from', 'echelon_to', 'section_to' to Array<array>

**当我尝试将其添加为答案时,我在这里编辑了代码,原因是它很长。病会变得更好。谢谢您的帮助,这使我开始工作。

1 个答案:

答案 0 :(得分:0)

MS Access创建带有所有荒谬,无用括号的噩梦。如果您将查询复制到文本编辑器(如免费的Notepad ++)中,该文本编辑器突出显示了打开和关闭定界符,将使工作变得更加容易。

我不知道这是否可以完成您想要的工作,但是它应该清除您当前遇到的语法错误。

SELECT *
INTO tbl_Test
FROM
    (SELECT 
         qry_BomLevel1_PartNo.Type, qry_BomLevel1_PartNo.PartNo, 
         qry_BomLevel1_Desc.Description, qry_BomLevel1_Rev.Revision, 
         qry_BomLevel1_PartNo.Qty, qry_BomLevel1_Comment.Comment
     FROM 
         qry_BomLevel1_PartNo 
     LEFT JOIN 
         ((qry_BomLevel1_Desc 
     LEFT JOIN 
         qry_BomLevel1_Rev ON (qry_BomLevel1_Desc.XRefConfigurationID = qry_BomLevel1_Rev.XRefConfigurationID) 
                           AND (qry_BomLevel1_Desc.ChildRevNr = qry_BomLevel1_Rev.ChildRevNr) 
                           AND (qry_BomLevel1_Desc.ChildID = qry_BomLevel1_Rev.ChildID)) 
     LEFT JOIN 
         qry_BomLevel1_Comment ON (qry_BomLevel1_Rev.XRefConfigurationID = qry_BomLevel1_Comment.XRefConfigurationID) 
                               AND (qry_BomLevel1_Rev.ChildRevNr = qry_BomLevel1_Comment.ChildRevNr) 
                               AND (qry_BomLevel1_Rev.ChildID = qry_BomLevel1_Comment.ChildID)) 
          ON (qry_BomLevel1_PartNo.XRefConfigurationID = qry_BomLevel1_Desc.XRefConfigurationID) 
          AND (qry_BomLevel1_PartNo.ChildRevNr = qry_BomLevel1_Desc.ChildRevNr) 
          AND (qry_BomLevel1_PartNo.ChildID = qry_BomLevel1_Desc.ChildID)) --<--Add Closing paren here

    UNION ALL

    (SELECT --<--Add Opening paren here
        qry_BomLevel2_PartNo.Type, qry_BomLevel2_PartNo.PartNo, 
        qry_BomLevel2_Desc.Description, qry_BomLevel2_Rev.Revision, 
        qry_BomLevel2_PartNo.Qty, qry_BomLevel2_Comment.Comment
   FROM --<--Delete Opening paren here
        qry_BomLevel2_PartNo 
   LEFT JOIN 
       ((qry_BomLevel2_Desc 
   LEFT JOIN 
       qry_BomLevel2_Rev ON (qry_BomLevel2_Desc.ChildID = qry_BomLevel2_Rev.ChildID) 
                         AND (qry_BomLevel2_Desc.ChildRevNr = qry_BomLevel2_Rev.ChildRevNr) 
                         AND (qry_BomLevel2_Desc.XRefConfigurationID = qry_BomLevel2_Rev.XRefConfigurationID)) 
   LEFT JOIN 
       qry_BomLevel2_Comment ON (qry_BomLevel2_Rev.ChildID = qry_BomLevel2_Comment.ChildID) 
                             AND (qry_BomLevel2_Rev.ChildRevNr = qry_BomLevel2_Comment.ChildRevNr)
                             AND (qry_BomLevel2_Rev.XRefConfigurationID = qry_BomLevel2_Comment.XRefConfigurationID)) 
         ON (qry_BomLevel2_PartNo.XRefConfigurationID = qry_BomLevel2_Desc.XRefConfigurationID) 
         AND (qry_BomLevel2_PartNo.ChildRevNr = qry_BomLevel2_Desc.ChildRevNr)  
         AND (qry_BomLevel2_PartNo.ChildID = qry_BomLevel2_Desc.ChildID)
)