【发布时间】:2020-03-23 08:29:00
【问题描述】:
如果两个表的市场价值不同,我目前有一个表(MV 变化),它从两个表(当前和上一个)记录中提取。此外,该查询还有一列列出了两个市场值之间的差异,使用的表达式是Expr1: [Current].[MARKET VALUE]-[Previous].[MARKET VALUE]。我正在寻找两件事;
是否可以创建查询或表达式来仅提取变化超过 15% 的记录? (例如,如果 Current MV = 100 and Previous = 55 OR Current MV = 25 and Previous = 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 ));
【问题讨论】:
-
样本数据和期望的结果真的很有帮助。
-
@Gordon Linoff 添加了一些简单的数据,希望对您有所帮助
-
请使用发布的示例数据发布尝试的查询和所需的结果。文字解释并不总是很清楚。
标签: sql ms-access percentage