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

问题描述 投票:-1回答:1

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

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

但是,这里是我正在努力的地方:对于每个测试,在Points表中记录了一系列点,这些点通过典型的外国/主要(主要/主要(PK / FK)密钥安排连接到Test记录,并且有每个Points通常有几百甚至几千个Test

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

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

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

Points.Value_X是十进制数。

有人可以帮我查询吗?

提前致谢。

sql sql-server-ce windows-ce
1个回答
0
投票

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

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>值被假定为常量。

© www.soinside.com 2019 - 2024. All rights reserved.