【发布时间】:2016-06-23 11:40:36
【问题描述】:
我有一个请求,但我不确定我是否可以同意。希望是按某些字段对行进行分组,但随后还会显示一个项目描述字段,该字段会分解该组,我不能保证在项目描述字段上使用 min() 或 max() 会导致在所有项目中显示所需的描述案例。
请注意,在这段代码中,我已将项目描述注释掉,这给出了他们想要的行数和分组。
SELECT
--L.ITEMDESC,
SUM(L.UNITPRCE) AS Rate,
SUM(L.XTNDPRCE) AS Price,
L.QUANTITY AS Quantity,
RTRIM(L.UOFM) AS UOFM,
C.COMMENT_1,
C.COMMENT_2,
C.COMMENT_3
FROM
SOP10200 L, SOP10202 C
WHERE
L.SOPNUMBE = C.SOPNUMBE
AND L.SOPTYPE = C.SOPTYPE
AND L.LNITMSEQ = C.LNITMSEQ
AND L.SOPNUMBE = '00644680'
GROUP BY
C.COMMENT_1, C.COMMENT_2, C.COMMENT_3, L.QUANTITY, L.UOFM--, L.ITEMDESC
例如交易的结果:
Rate Price Quantity UOFM COMMENT 1 COMMENT 2 COMMENT 3
0.37891 63.56 167.72421 THERMS CESeq: 52593^Act^TARGET 10/13/2015 10/31/2015
0.34254 30.23 88.27579 THERMS CESeq: 52593^Act^TARGET 11/1/2015 11/10/2015
如果我出于解释目的包含项目描述,结果如下:
ITEMDESC Rate Price Quantity UOFM COMMENT 1 COMMENT 2 COMMENT 3
Gas on the PG&E System 0.34691 58.19 167.72421 THERMS CESeq: 52593^Act^TARGET 10/13/2015 10/31/2015
PGE SPCC ADDER 0.03200 5.37 167.72421 THERMS CESeq: 52593^Act^TARGET 10/13/2015 10/31/2015
Gas on the PG&E System 0.31054 27.41 88.27579 THERMS CESeq: 52593^Act^TARGET 11/1/2015 11/10/2015
PGE SPCC ADDER 0.03200 2.82 88.27579 THERMS CESeq: 52593^Act^TARGET 11/1/2015 11/10/2015
在这个数据的特定场景中,他们说他们希望看到Gas on the PG&E System 作为描述,但我不能只使用 min() 或 max() 来解决这个事务的场景,因为这可能不适合其他人。
因此,这张图片在其中一个表格中显示,我可以使用不等于零的单位成本作为选择要使用哪一行描述的规则。但我正在努力思考如何在代码中实现它。我想向客户建议。如何利用 Unit Cost 0 来选择显示哪个项目描述?
【问题讨论】:
-
如果您不知道选择其中一个的依据,我们帮不了您。
-
也许我可以在最后一个问题中更具体一些。我会更新它以专门询问有关使用单位成本的问题。
-
但是你还是有问题。您无法确定是否会有任何 Unit Cost 0 或超过一个
-
点了。我必须与客户确认所需行的描述始终具有单位成本,并且不显示描述的所需行的单位成本为零。抽查表明这应该是真的,但你是对的,我现在还不能 100% 确定。感谢您帮助我思考这个问题。
标签: tsql