在另一个表中查找具有不同总和的记录

时间:2019-12-02 14:14:10

标签: sql sql-server

我有两个表:

TABLE1
| [Key1] | [Key2] | [Key3] | Value1 | Value2 |
+ ------ + ------ + ------ + ------ + ------ +
| 1      | 1      | 1      | 100    | 100    |
| 1      | 1      | 2      | 100    | 100    |
| 1      | 1      | 3      | 100    | 100    |

TABLE1_DETAILED
| [Key1] | [Key2] | [Key3] | [Key4] | Value1 | Value2 |
+ ------ + ------ + ------ + ------ + ------ | ------ +
| 1      | 1      | 1      | 1      | 10     | 10     |
| 1      | 1      | 1      | 2      | 90     | 90     |
| 1      | 1      | 2      | 1      | 10     | 10     |
| 1      | 1      | 2      | 2      | 80     | 90     |
| 1      | 1      | 3      | 1      | 90     | 110    |

我需要从表1中选择值1或值2与具有相同的键1,键2和键3的表1_DETAILED中的值1和/或值2的总和不同的记录。另外,我还需要表之间的值差,例如,在上面,我需要查询返回:

TABLE1_RESULT
| [Key1] | [Key2] | [Key3] | Value1 | Value2 |
+ ------ + ------ + ------ + ------ + ------ +
| 1      | 1      | 2      | 10     | 0      |
| 1      | 1      | 3      | 10     | -10    |

我试图通过多种方式解决此问题,但我错过了一些东西,希望对您有所帮助。

1 个答案:

答案 0 :(得分:0)

这是SQL 101

0.9999999999999655

在第一个表中加入WHERE Sum1 <> Value1或Sum2 <> Value2