SQLでこれを行うにはどうすればよいですか?
これは私のサンプルデータです:
ColA ColB ColC ColD ColE
---- ---- ---- ---- ----
TR12 25 67 yey
TR11 28 99 apr 2/2/2013
TR12 78 55 apr 2/2/2013
TR12 20 35 olf 2/5/2013
条件は、ColA のある値の ColB と ColC の最大値を取得することです。
ColD と ColE の値については、ColE 値が最大の行から取得したいと考えています。
ColA ColB ColC ColD ColE
---- ---- ---- ---- ----
*TR12* 25 *67* yey
TR11 28 99 apr 2/2/2013
TR12 *78* 55 apr 2/2/2013
TR12 20 35 *olf* *2/5/2013*
したがって、私の期待される結果は次のようになります。
ColA ColB ColC ColD ColE
---- ---- ---- ---- ----
TR12 78 67 olf 2/5/2013
列の正しい最大値を返すことができるのはこれだけですが、ColE が max value である行に基づいて文字列を返すのはどうですか? ColD の max() 関数を実行すると、誤った値が取得されます。ColE が最大である単語の代わりに、別の単語を取得しています。
SELECT
ColA, max(ColB) as ColB, max(ColC) as ColC,
max(ColD) as ColD, -- this is where I got it wrong,
this should return the string where its ColE is the maximum
max(ColE) as ColE
FROM
dbo.SomeTable
WHERE
ColA = 'TR12'
私はあなたがこれで私を助けてくれることを本当に願っています..
迅速な返信をありがとう..