私は次のクエリがあります。代わりにすべての列を返すのこのt-sqlクエリを変更して、異なる列名の最大値を返す方法は?
SELECT
[Rate],
[RateMon],
[RateTue],
[RateWed],
[RateThu],
[RateFri],
[RateSat],
[RateSun]
FROM
[Room]
WHERE
[email protected]
を、私はちょうどRate
とRateMon、RateTue、RateWed、RateThu、RateFri、RateSat、とRateSun間の最大値を返すようにしたいが、私列名が異なるために苦労しています。
例えば結果戻り、次のようになる:100レートであり、他の値は、月に対応
100、400、400、400、400、600、600、600
- 太陽に、しかし私はこのケースではわずか100と600に戻りたいと思っています。タイピングの
SELECT Rate,
CASE
WHEN RateMon>=RateTue AND RateMon>=RateWed AND RateMon>=RateThu AND
RateMon>=RateFri AND RAteMon>=RateSat AND RateMon>=RateSun THEN RateMon
WHEN RateTue>=RateMon AND RateTue>=RateWed AND RateTue>=RateThu AND
RateTue>=RateFri AND RateTue>=RateSat AND RateTue>=RateSun THEN RateTue
WHEN RateWed>=RateMon AND RateWed>=RateTue AND RateWed>=RateThu AND
RateWed>=RateFri AND RateWed>=RateSat AND RateWed>=RateSun THEN RateWed
WHEN RateThu>=RateMon AND RateThu>=RateTue AND RateThu>=RateWed AND
RateThu>=RateFri AND RateThu>=RateSat AND RateThu>=RateSun THEN RateThu
WHEN RateFri>=RateMon AND RateFri>=RateTue AND RateFri>=RateWed AND
RateFri>=RateThu AND RateFri>=RateSat AND RateFri>=RateSun THEN RateFri
WHEN RateSat>=RateMon AND RateSat>=RateTue AND RateSat>=RateWed AND
RateSat>=RateThu AND RateSat>=RateFri AND RateSat>=RateSun THEN RateSat
WHEN RateSun>=RateMon AND RateSun>=RateTue AND RateSun>=RateWed AND
RateSun>=RateThu AND RateSun>=RateFri AND RateSun>=RateSat THEN RateSun
END AS MaxRate
FROM
[Room]
WHERE
[email protected]
多くのことを、それは一つの可能な答えです:あなたが何かを使用することができます
例のデータと結果を投稿してください。あなたが探しているものは明確ではありません。 – Oded
[複数の列のSQL最大?](http://stackoverflow.com/questions/71022/sql-max-of-multiple-columns) –
可能な複製[SQL Server 2008の機能は、mysqlのGREATESTと似ています?](http://stackoverflow.com/questions/4725823/function-in-sql-server-2008-similar-to-greatest-in-mysql) –