我有一个表(只能有一个),看起来像下面看到的。自我加入问题,我想?
它包含工厂代码,物品编号和与该物品相关的批次。
plant - code - batch - value - volume - added_date
A1 1000 A1 10 20 date
A1 2000 A7 20 15 date
A1 1000 A1 5 10 later than first A1 batch
A2 200 A8 10 9 date
A1 2000 A10 20 20 date
我怎么会出现这样的信息:每个工厂和代码,显示DISTINCT
批数和仅新增加了一批体积(注意代码1000 plant A1
只显示10作为是最新添加的批量)。
plant - code - batches - volume
A1 1000 1 10
A1 2000 2 35
A2 200 1 9
我从这里早的人一些帮助,而且查询的伟大工程,直到我试图摆脱只有最新的批卷,如果有两个批次与在同一植物的相同产品相同数量。
SELECT code, plant,
COUNT(DISTINCT(batch)) as Batches,
SUM(value) as TotalValue,
SUM(volume) as TotalVolume,
SUM(value * risk) as TotalRisk,
FROM lists
GROUP BY code, plant
我想你可以用一些CONCAT和自我做其加入,但我没有足够的技术,只有一个表的工作:/
提前感谢!
编辑:恩,实际上阿德里安联系的答案解决了所描述的问题......但似乎很难做到让所有其他解决方案都能正常工作。我只描述了我的“问题”的一部分,我认为足以让我自己解决其他问题。但是我错了。我不仅需要最新添加的批次和体积,还需要对批次执行一些SUM操作。我认为将数据放在两个不同的表格中并从那里工作可能是最好的选择。
你有你的手[标签:最大正每组]问题。我没有时间为您编写一份量身定做的答案,请花些时间阅读这里:http://stackoverflow.com/a/7745635/570191。它会引导你到正确的答案 – 2012-02-13 19:30:23
谢谢阿德里安,我会读到的!首先,我担心你会说我的问题没有解决方案:) – Josef 2012-02-13 19:45:38
别担心,还有更多的方法来解决你的问题:)不要忘记upvote如果答案在那里帮助你 – 2012-02-13 19:53:11