Xai*_*oft 6 t-sql sql-server-2008
我有以下查询:
SELECT
[Rate],
[RateMon],
[RateTue],
[RateWed],
[RateThu],
[RateFri],
[RateSat],
[RateSun]
FROM
[Room]
WHERE
Id=@Id
Run Code Online (Sandbox Code Playgroud)
我只想返回RateRateMon,RateTue,RateWed,RateThu,RateFri,RateSat和RateSun之间的最大值,而不是返回所有列,但我很难,因为列名不同.
现在返回的示例结果是:
100,400,400,400,400,600,600,600
其中100是Rate,其他值对应Mon - Sun,但在这种情况下我想返回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
Run Code Online (Sandbox Code Playgroud)