我怎样才能在 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 是最大值的行返回一个字符串呢?当我为 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'
我真的希望你能帮我解决这个问题..
感谢您的快速回复..