Sql Access查询以提取值更改超过一定百分比的记录

Sql Access查询以提取值更改超过一定百分比的记录,sql,ms-access,percentage,Sql,Ms Access,Percentage,我目前有一个表(MV变更),如果两个表的市场价值不同,则从两个表(当前和以前)记录中提取。此外,查询还有一个列,列出两个市场价值之间的差异,使用的表达式是Expr1:[当前].[市场价值]-[以前].[市场价值]。我在寻找两件事 我是否可以创建一个查询或表达式来仅提取更改超过15%的记录?(例如,如果当前MV=100且先前=55或当前MV=25且先前=90,则查询将列出记录。) 当表达式的结果为负数时,是否有方法从表结果中删除()?(例如,当前MV=30和之前的MV=80,结果在表中显示为(50

我目前有一个表(MV变更),如果两个表的市场价值不同,则从两个表(当前和以前)记录中提取。此外,查询还有一个列,列出两个市场价值之间的差异,使用的表达式是
Expr1:[当前].[市场价值]-[以前].[市场价值]
。我在寻找两件事

  • 我是否可以创建一个查询或表达式来仅提取更改超过15%的记录?(例如,如果当前MV=100且先前=55或当前MV=25且先前=90,则查询将列出记录。)

  • 当表达式的结果为负数时,是否有方法从表结果中删除()?(例如,当前MV=30和之前的MV=80,结果在表中显示为(50),而不是50)

  • 以下是一些示例数据:

    当前表

    ID Market Value 
    1    $100   
    2    $100
    3    $100
    4    $100    
    5    $100
    6    $50
    
    上表

    ID Market Value 
    1    $100   
    2    $90
    3    $50
    4    $110  
    5    $150
    
    我想要的查询只拉ID 3和5,因为两个市场价值的变化都超过15%。ID 6不在其中,因为上表中没有市场价值

    任何帮助都将不胜感激

    我当前的SQL查询如下:

    SELECT [mv change].[id],
           [mv change].[new mv],
           [mv change].[old mv],
           [mv change].[change in mv],
    FROM   [mv change]
    WHERE  (( [mv change].[new mv] - [mv change].[old mv] >= 1.15 ))
            OR (( [mv change].[new mv] - [mv change].[old mv] >=- 1.15 )); 
    

    要求没有规定什么百分比?差异/当前或差异/以前

    使用
    ABS([Current].[MARKET VALUE]-[Previous].[MARKET VALUE])
    获得正值


    如果
    (Diff/Previous)>1.15
    (Diff/Previous)<0.85
    ,请报告它。

    样本数据和所需结果确实会有帮助。@Gordon Linoff添加了一些简单的数据,希望这有助于使用发布的样本数据发布尝试的查询和所需的结果。文本解释并不总是清晰的。很抱歉造成混淆,下面是我一直在使用的SQL语言,以获得我的结果。我的目标是从[MV change]中选择[MV change]。[ID],[MV change]。[MV change]。[MV change]。[MV change]。[OLD MV],[MV change]。[MV change IN MV]。[MV change]。[MV change]。[MV change]。[MV change]。[MV change]。[MV change]。[MV change]。[OLD MV]>=1.15]);