如何修改此 t-sql 查询以返回不同列名的最大值?

2023-11-27

我有以下查询:

SELECT
        [Rate],
        [RateMon],
        [RateTue],
        [RateWed],
        [RateThu],
        [RateFri],
        [RateSat],
        [RateSun]
    FROM
        [Room]
    WHERE
        Id=@Id

我只想返回,而不是返回所有列Rate以及 RateMon、RateTue、RateWed、RateThu、RateFri、RateSat 和 RateSun 之间的最大值,但我遇到了困难,因为列名称不同。

现在返回的示例结果是:

100、400、400、400、400、600、600、600

其中 100 是费率,其他值对应于周一至周日,但在本例中我只想返回 100 和 600。


SELECT  [Rate],
        (SELECT MAX(T.[Rate])
         FROM (VALUES([RateMon]),
                     ([RateTue]),
                     ([RateWed]),
                     ([RateThu]),
                     ([RateFri]),
                     ([RateSat]),
                     ([RateSun])) AS T([Rate])
        ) AS MaxRate
FROM [Room]
WHERE Id=@Id
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修改此 t-sql 查询以返回不同列名的最大值? 的相关文章

  • 将多行合并为一行并根据行数附加列

    我正在尝试将同一个表的多行合并为一个 我有一个像这样的示例表 Col1 Col2 Col3 Col4 Col5 Col6 1 BH1 CB 12 CC CC Conveyor Mal 1 BH1 CB 104 ZC ZC Full Emp
  • T-sql、刻度、时间戳

    是否有可能在 t sql 中获得像 DateTime Ticks 这样的 C 内容 感谢帮助 您不太可能从 SQL 中获得与 DateTime Ticks 相同的精度 因为 SQL 不能以那么高的精度表达时间 SQL Server 只存储大
  • SQL 插入失败 - 违反主键约束

    我在 SQL Insert 语句中看到一个非常奇怪的问题 我有一个简单的表 带有一个 ID 和 2 个日期时间 请参阅下面的创建脚本 CREATE TABLE dbo DATA POPULATION LOGS ID int IDENTITY
  • T-SQL 表名别名

    在我的 T SQL 脚本中 我多次引用相同的长表名称 我在不同的表上使用这个查询 有没有办法通过变量引用表名 如果是这样 我可以简单地在脚本将使用的顶部声明一个变量 只需设置值 我就可以在各种表上运行它 而无需在脚本中进行更改 有几个选择
  • 为什么MERGE语句的目标表不允许启用规则?

    我们有一个使用以下 SQL 更新数据库的过程 IF NOT EXISTS SELECT FROM Target Table WHERE Target Table ID BEGIN INSERT END ELSE BEGIN UPDATE E
  • 如何获取 dm_exec_sql_text 的参数值

    我正在运行以下语句来查看 sql server 中正在执行哪些查询 select from sys dm exec requests r cross apply sys dm exec sql text r sql handle where
  • 从 URL 生成报告 - SQL Server Reporting Services 2008

    我有 SQL Server Reporting Services 2008 当我打开以下 URL 时 http localhost Reports Pages Report aspx someReport 我正在进入报告屏幕 在其中填写参数
  • sql中的拓扑排序

    我正在解决表中某些对象之间的依赖关系 我必须对对象做一些事情来排序它们的依赖性 例如 第一个对象不依赖于任何对象 第二个和第三个取决于第一个 依此类推 我必须使用拓扑排序 http en wikipedia org wiki Topolog
  • 如何在多行上使用 OPENJSON

    我有一个临时表 其中包含多行 每行都有一个名为Categories 其中包含一个非常简单的 json 数组ids对于不同表中的类别 临时表的一些示例行 Id Name Categories 539f7e28 143e 41bb 8814 a
  • 如何每行输出 7 条记录,一周中的每一天输出 1 条记录?

    试图在这里节省大量的数据输入 我目前有以下输出 CONTID DESCR 001 Area 1 001 Area 2 001 Area 3 我想要做的是为每个 DESCR 区域 输出 7 条记录 一周中的每一天输出 1 条记录 相应地为 0
  • T-SQL 插入或更新

    我有一个关于 SQL Server 性能的问题 假设我有一张桌子persons包含以下列 id name surname 现在 我想在此表中插入一个新行 规则如下 If id表中不存在 则插入该行 If id存在 然后更新 我这里有两个解决
  • 使用实用程序批量复制将所有表从 SQL Server 数据库导出到文件中

    我想将数据库中的所有表 bcp 到文件中 SELECT EXEC xp cmdshell bcp bcp QUOTENAME DB NAME database name QUOTENAME SCHEMA NAME SCHEMA ID sch
  • 在 ms-sql 中查找最近的位置

    我将这些参数发送给我的脚本 纬度 41 0186 经度 28 964701 它是示例 我想找到最近的位置的名称 这个怎么做 查询必须更改代码的位置 sql查询 SELECT Name FROM Location WHERE Latitude
  • T-SQL:检查电子邮件格式

    我有这样的场景 我需要物理数据库中的数据完整性 例如 我有一个变量 email address VARCHAR 200 我想检查一下值是否为 email address是电子邮件格式 有人知道如何检查 T SQL 中的格式吗 非常感谢 我使
  • 使用触发器找出哪些行被插入、更新或删除

    我在数据库中有一个名为指示的表 它有三列Name Age and Enable 我想创建一个触发器 每当Age未满 18 岁并且Enable是真的 我想在插入的那一刻检查指示表上的记录 这样我就可以检查是否应该在报警时插入 I found
  • 为什么Asp.net MVC4不能使用SQL Server Session状态存储的cookieless

    全部 这是我在 Asp net MVC4 应用程序中的 Web 配置 我发现如果我将 cookieless 设置为 false 一切都会正常 但如果我不想使用 cookie 那么应用程序就无法工作 当我调试应用程序时 我发现控制器无法接收来
  • SQL Server 中带条件的多个计数函数

    我想合并 SQL Server 中的一些表 我想要获得的是如下图所示的东西 假设我有 tes A tes B tes C 和 tes jumlah 表 tes jumlah 是 tes A tes B 和 tes C 表的组合 请注意 ju
  • SQL Server 2008 中超前滞后函数的替代

    我想将当前行与下一行中的值进行比较 SQL 有LEAD and LAG函数来获取下一个和上一个值 但我无法使用它们 因为我使用的是 SQL Server 2008 那么我该如何得到这个呢 我有带输出的表 Id ActId StatusId
  • TSQL ROW_NUMBER() OVER(分区依据...排序依据...)

    我可以在没有分区的情况下执行 row number 吗 参见帖子末尾的数据 我可以使用此语句来获取订单 ROW NUMBER OVER PARTITION BY LOG ID ORDER BY ORDER ID 有什么建议可以获取 LOG
  • 到命名实例的 Sql 连接字符串

    我可以在示例代码项目中使用它连接到我的 sql server 2008 开发人员服务器 string connection data source SQLSERVER2008 Integrated Security SSPI Initial

随机推荐