MS Access:对一个表进行多次查询

时间:2014-12-22 15:47:36

标签: ms-access

好的,我仍然是MS Access的新手,但已经有了一些基础。我的下一个问题是从两个不同的查询中提取数据,但仍然需要它们显示。

这是我拥有的

我有一个包含以下信息的查询

|   ID Number   |   Points  |

另一个查询具有以下内容

|   ID Number   |   Points over 1000    |

在这个新查询中,我需要显示以下内容

|   ID Number   |   Points  |   Points over 1000    |   Total Points    |

将会有一些行,其中1000以上的点数不存在且需要为空或0,但我需要超过1000的ID号码来匹配并检查ID号只是点列。

并最终将它们添加到Points total

我希望这有道理吗?

再次感谢

1 个答案:

答案 0 :(得分:1)

理论上,此查询应该按照您希望的方式工作。

SELECT 
    tmpQ.ID, 
    Sum(tmpQ.Points) As ActualPoints, 
    Sum(tmpQ.PointsOver1000) As Over1000,
    [ActualPoints] + [Over1000] As TotalPoints
FROM
    (
        SELECT 
            qryA.[ID Number] As ID,
            Sum(qryA.Points) As Points,
            Sum(0) As PointsOver1000
        FROM
            qryA
        GROUP BY 
            qryA.[ID Number]
        UNION ALL
        SELECT 
            qryB.[ID Number] As ID,
            Sum(0) As Points,
            Sum(qryB.PointsOver1000) As PointsOver1000
        FROM
            qryB
        GROUP BY 
            qryB.[ID Number]
    ) As tmpQ
GROUP BY
    tmpQ.ID;

qryA和qryB是你拥有的两个查询,它们会给你两个不同点的结果。