如何从 SQL Server CE 中的另一个表中选择最大值和最低值



我有一个名为Tests的表,一个Points表以及许多其他链接表。

我正在尝试选择测试信息的摘要,其中包括其他表中的数据。到目前为止一切正常,在Tests选择查询中只有一列连接到一个值。目前为止,一切都好。

但是,这就是我挣扎的地方:对于每个测试,Points表中记录了一系列点,这些点通过典型的外部/主要 (PK/FK) 键排列链接到Test记录中,每个Test中通常有数百甚至数千个Points

每个TestPoints按从1到n的顺序编号,因此每个新TestPoints编号再次从1开始。

Tests摘要选择中,我希望在Points.Number = 1时看到Points.Value_X的值,并在Points.Number = n时看到另一列

的值为Points.Value_X

这个想法是根据点的顺序号 1 以及该测试的最大订单号,仅从Points表中检索两个值到测试摘要中。

Points.Value_X是一个十进制数。

请有人帮我查询吗?

提前谢谢。

您可以使用条件聚合,如下所示:

select test_id,
max(case when num = 1 then value_x end) as value_x_1,
max(case when num = <n> then value_x end) as value_x_n
from points p
group by test_id;

运行查询时,假定<n>值为常量。

最新更新