小编spe*_*raz的帖子

获取跨列的最大值、最小值

我想获得连续多列的最小值和最大值。我使用 CROSS APPLY、UPIVOT 和 VALUES 找到了各种工作查询,例如:

select column1, column2, code1,
       (qty2), (qty3), (qty4), (qty5),
       MinVal, MaxVal 
from dummydata 
    cross apply (select MIN(NULLIF (d ,0)) MinVal, 
                        Max(d) MaxVal 
                 FROM (VALUES (qty2), 
                              (qty3), 
                              (qty4), 
                              (qty5)
                      ) AS a(d) 
                )  A
Run Code Online (Sandbox Code Playgroud)

这些都在 SQL Server 2005 或更高版本中工作,但我需要 SQL Server 2000(数据库兼容级别 80)的解决方案。我怎样才能做到这一点?

DDL:

CREATE TABLE [dbo].[dummydata](
[column1] [nvarchar](255) NULL,
[column2] [nvarchar](255) NULL,
[code1] [nvarchar](255) NULL,
[qty2] [float] NULL,
[qty3] [float] NULL,
.......
[qty20] [float] NULL)
Run Code Online (Sandbox Code Playgroud)

查询输出:

在此处输入图片说明

sql-server sql-server-2000

4
推荐指数
1
解决办法
921
查看次数

标签 统计

sql-server ×1

sql-server-2000 ×1