Sql server 两个选定表或查询中的列数不匹配

Sql server 两个选定表或查询中的列数不匹配,sql-server,ms-access,vba,ms-access-2010,ms-access-2007,Sql Server,Ms Access,Vba,Ms Access 2010,Ms Access 2007,这是我的SQL。 挑选 [分类账分录JC]。[目标代码], DLookUp(“说明”、“ACTVTY和CMDTY说明”、“L4=”&[Object Code]&“”)作为[Object Code Description], 左([分类账分录JC]![子公司],2)为L4, DLookUp(“描述”、“活动和CMDTY描述”、“L4=”、[L4]&“”)作为[L4描述], 左([分类账分录JC]![子公司],3)为L5, DLookUp(“说明”、“活动和CMDTY说明”、“L4=”、[L5]、“

这是我的SQL。

挑选 [分类账分录JC]。[目标代码], DLookUp(“说明”、“ACTVTY和CMDTY说明”、“L4=”&[Object Code]&“”)作为[Object Code Description], 左([分类账分录JC]![子公司],2)为L4, DLookUp(“描述”、“活动和CMDTY描述”、“L4=”、[L4]&“”)作为[L4描述], 左([分类账分录JC]![子公司],3)为L5, DLookUp(“说明”、“活动和CMDTY说明”、“L4=”、[L5]、“”)作为[L5说明], 左([分类账分录JC]![子公司],4)为L6, DLookUp(“描述”、“活动和CMDTY描述”、“L4=”、[L6]、“”)作为[L6描述], 右([分类账分录JC]![子公司],4)作为L7, DLookUp(“描述”、“活动和CMDTY描述”、“L4=”、[L7]、“”)作为[L7描述], [分类账分录JC]。金额, DLookUp(“预算”、“按商品按活动划分的预算”、“WBS=”、[WBS]&“”)作为预算, [L6]&“&[目标代码]&”&“&[L7]作为WBS, [分类账分录JC]。日期 从…起 [分类账分录JC] 联合 使改变 总和([按活动按商品划分的预算].Budget)为[预算总额] 挑选 [按活动和商品分列的预算]。L4, [按商品分列的活动预算].[L4说明], [按活动按商品列出的预算]。预算为[总预算], [按活动和商品分列的预算].L5, [按商品划分的活动预算].[L5说明], [按活动和商品分列的预算].L6, [按商品分列的活动预算].[L6说明], [按活动和商品分列的预算].L7, [按活动和商品划分的预算]。WBS作为WBS, [按商品划分的活动预算][工作分解结构说明], [分类账分录JC Qry].WBS为[WBS 2], 金额([分类账分录JC Qry].金额)作为金额 从…起 [分类账分录JC Qry] 右键联接[按活动和商品列出的预算] 在[分类账分录JC Qry]上。WBS=[按活动按商品列出的预算]。WBS 分组 [按活动和商品分列的预算]。L4, [按商品分列的活动预算].[L4说明], [按活动和商品划分的预算]。预算, [按活动和商品分列的预算].L5, [按商品划分的活动预算].[L5说明], [按活动和商品分列的预算].L6, [按商品分列的活动预算].[L6说明], [按活动和商品分列的预算].L7, [按活动和商品划分的预算]。WBS, [按商品划分的活动预算][工作分解结构说明], [分类账分录JC Qry].WBS 支点
[按活动按商品列出的预算].[目标代码]在(57523、57531、57532、57533、57535、57537、57540、57590、57626、57627、57628、57629、57630、58230)中

使用UNION查询时,此类查询中的所有选择都应具有相同数据类型的相同数量的字段。第一个查询中有14个字段,第二个查询中有12列,这会产生错误。您还需要检查每个列的数据类型,它们在两个查询中都应该对应。这是您的格式化查询,请编辑问题,我不能

SELECT
    [Ledger Entries JC].[Object Code],
    DLookUp("Description", "ACTVTY and CMDTY Descriptions", "L4='" & [Object Code] & "'") AS [Object Code Description],
    Left([Ledger Entries JC]![Subsidiary], 2) AS L4,
    DLookUp("Description", "ACTVTY and CMDTY Descriptions", "L4='" & [L4] & "'") AS [L4 Description],
    Left([Ledger Entries JC]![Subsidiary], 3) AS L5,
    DLookUp("Description", "ACTVTY and CMDTY Descriptions", "L4='" & [L5] & "'") AS [L5 Description],
    Left([Ledger Entries JC]![Subsidiary], 4) AS L6,
    DLookUp("Description", "ACTVTY and CMDTY Descriptions", "L4='" & [L6] & "'") AS [L6 Description],
    Right([Ledger Entries JC]![Subsidiary], 4) AS L7,
    DLookUp("Description", "ACTVTY and CMDTY Descriptions", "L4='" & [L7] & "'") AS [L7 Description],
    [Ledger Entries JC].Amount,
    DLookUp("Budget", "Budget By Activity By Commodity", "WBS='" & [WBS] & "'") AS Budget,
    [L6] & "." & [Object Code] & "." & [L7] AS WBS,
    [Ledger Entries JC].Date
FROM
    [Ledger Entries JC]
UNION
    Transform
    Sum([Budget By Activity By Commodity].Budget) As [Total Of Budget]
SELECT
    [Budget By Activity By Commodity].L4,
    [Budget By Activity By Commodity].[L4 Description],
    [Budget By Activity By Commodity].Budget AS [Total Budget],
    [Budget By Activity By Commodity].L5,
    [Budget By Activity By Commodity].[L5 Description],
    [Budget By Activity By Commodity].L6,
    [Budget By Activity By Commodity].[L6 Description],
    [Budget By Activity By Commodity].L7,
    [Budget By Activity By Commodity].WBS AS WBS,
    [Budget By Activity By Commodity].[WBS Description],
    [Ledger Entries JC Qry].WBS AS [WBS 2],
    Sum([Ledger Entries JC Qry].Amount) As Amount
FROM
    [Ledger Entries JC Qry]
        RIGHT JOIN [Budget By Activity By Commodity]
        ON [Ledger Entries JC Qry].WBS = [Budget By Activity By Commodity].WBS
Group BY
    [Budget By Activity By Commodity].L4,
    [Budget By Activity By Commodity].[L4 Description],
    [Budget By Activity By Commodity].Budget,
    [Budget By Activity By Commodity].L5,
    [Budget By Activity By Commodity].[L5 Description],
    [Budget By Activity By Commodity].L6,
    [Budget By Activity By Commodity].[L6 Description],
    [Budget By Activity By Commodity].L7,
    [Budget By Activity By Commodity].WBS,
    [Budget By Activity By Commodity].[WBS Description],
    [Ledger Entries JC Qry].WBS
PIVOT
    [Budget By Activity By Commodity].[Object Code] In(57523, 57531, 57532, 57533, 57535, 57537, 57540, 57590, 57626, 57627, 57628, 57629, 57630, 58230)

你需要格式化你的代码以便更容易阅读。Sergey,如果有人愿意,这不是乞求别人的帮助。谢谢你的安排,但问题仍然存在。我没有在查询中更改任何内容。尝试将两个空列添加到第二个查询中,例如
,null为empty1,null为empty2
,那么两个查询中的列数量将相同。