【问题标题】:Access UNION query to combine multiple fields访问 UNION 查询以组合多个字段
【发布时间】:2015-07-24 12:19:16
【问题描述】:

情况:我正在处理的 Access 数据库将部分分为左右部分。同一部分可用于两面。我正在尝试创建一个查询来计算每件所需的单个零件的总数。

问题:如何创建一个允许 UNION 多个字段的查询,如下所示?

示例:

Table 1:
Part # |Left Part | Left Part Qty | Right Part | Right Part Quantity
1        xyz         5               xyz          7
2        abc         8               lmn          4

Table 2:
Part # | Needed
1        10
2        25

Query:
Part | Quantity
xyz    120 ((5 + 7) * 10)
abc    200 (8 * 25) 
lmn    100 (4 * 25)

编辑:我很抱歉,但我忘了添加一部分。我没有意识到我需要乘以另一个表中的一个因子。

【问题讨论】:

    标签: sql ms-access ms-access-2007


    【解决方案1】:

    如果你有一个包含所有部分的表格,那么你可以这样做:

    select p.part, nz(l.cnt, 0) + nz(r.cnt, 0)
    from (parts as p left join
          (select leftpart, count(*) as cnt
           from table t
           group by leftpart
          ) as l
          on p.part = l.leftpart
         ) left join
         (select rightpart, count(*) as cnt
          from table
          group by rightpart
         ) as r
         on p.part = r.rightpart;
    

    如果没有这样的表,可以从查询中创建视图:

    select leftpart
    from table
    union
    select rightpart
    from table;
    

    然后使用表格中的视图。

    【讨论】:

      【解决方案2】:

      你可以这样做:

      Select
          BothParts, Sum(BothQty) As TotalQuantity
      From
      
      (Select 
          [Left Part] As BothParts, [Left Part Qty] As BothQty
      From
          YourTable
      Union All
      Select
          [Right Part] As BothParts, [Right Part Qty] As BothQty
      From
          YourTable) As T
      
      Group By BothParts;
      

      【讨论】:

        猜你喜欢
        • 2018-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-08
        • 2014-04-24
        • 2013-04-18
        • 1970-01-01
        相关资源
        最近更新 更多