【发布时间】:2010-04-19 00:53:20
【问题描述】:
嗨
我有以下代码和一个大问题:
WITH CALC1 AS (
SELECT OTQUOT, OTIT01 AS ITEMS, ROUND(OQCQ01 * OVRC01,2) AS COST
FROM @LIB@.RTQOTA WHERE OTIT01 <> ''
UNION ALL
SELECT OTQUOT, OTIT02 AS ITEMS, ROUND(OQCQ02 * OVRC02,2) AS COST
FROM @LIB@.RTQOTA WHERE OTIT02 <> ''
UNION ALL
SELECT OTQUOT, OTIT03 AS ITEMS, ROUND(OQCQ03 * OVRC03,2) AS COST
FROM @LIB@.RTQOTA WHERE OTIT03 <> ''
UNION ALL
SELECT OTQUOT, OTIT04 AS ITEMS, ROUND(OQCQ04 * OVRC04,2) AS COST
FROM @LIB@.RTQOTA WHERE OTIT04 <> ''
UNION ALL
SELECT OTQUOT, OTIT05 AS ITEMS, ROUND(OQCQ05 * OVRC05,2) AS COST
FROM @LIB@.RTQOTA WHERE OTIT05 <> ''
ORDER BY OTQUOT ASC
)
SELECT OTQUOT, ITEMS, MAX(COST)
FROM CALC1
WHERE OTQUOT = '04886471'
GROUP BY OTQUOT, ITEMS
结果:
04886471 FEPO5050WCGA24 13.21
04886471 GFRK1650SGL 36.21
04886471 FRA7500GA 12.6
04886471 CGIFESHAZ 11.02
04886471 CGIFESHPDPR 11.79
04886471 GFRK1350DBL 68.23
04886471 RET1.63825GP 32.55
04886471 FRSA 0.12
04886471 GFRK1350SGL 55.94
04886471 GFRK1650DBL 71.89
04886471 FEPO6565WCGA24 16.6
04886471 PCAP5050GA 0.28
04886471 FEPO6565NCPAG24 0.000000
如何获取具有最高值的 Itemcode 的行的结果? 在这种情况下,我需要结果: 04886471 GFRK1650DBL 71.89 但我不知道如何更改我的代码来获得它 - 任何人都可以帮助我吗?
【问题讨论】:
-
您的问题似乎已得到解答,因此请将两个答案之一标记为已接受(单击答案左侧的灰色复选标记)