在SQL查询Access 2007中添加类似的动态行
我需要执行类似的操作,标记字段将动态生成值在SQL查询Access 2007中添加类似的动态行,sql,ms-access,add,distinct-values,Sql,Ms Access,Add,Distinct Values,我需要执行类似的操作,标记字段将动态生成值 Tag | Qty | Price_Of_Unit -------------------------------------------------- Jam Bottle 90ml | 2 | $9 Jam Bottle 180ml | 1 | $15 Jam Bottle 180ml | 3 | $15 Jam Bottle 180ml
Tag | Qty | Price_Of_Unit
--------------------------------------------------
Jam Bottle 90ml | 2 | $9
Jam Bottle 180ml | 1 | $15
Jam Bottle 180ml | 3 | $15
Jam Bottle 180ml | 2 | $15
Jam Bottle 90ml | 2 | $9
我想要一个返回如下内容的查询:
Tag | Qty | Price_Of_Unit
--------------------------------------------------
Jam Bottle 90ml | 4 | $9
Jam Bottle 180ml | 6 | $15
添加数量字段时,标记字段没有重复值
否:表中有这些字段,我将从这些字段生成此查询
ID, Tag, QTY, Price_Of_Unit
如果有人能回答,我很绝望!
提前谢谢!
Bhashithe你的意思是你想要一个团体
SELECT
Tag
,sum(QTY)
,sum(Price_Of_Unit)
FROM
Table
GROUP BY
Tag
这将“分组”具有相同标记的所有行,其他列是行组上的函数-这里我选择了sum,它将所有的QUOTY和Price列相加
分组人:
您可以执行其他“聚合”函数,而不是求和:
对于每个标签,您希望汇总
数量
,同时显示每个单位的单个价格。你必须以一种迂回的方式来解决这个问题:
select t.Tag, sq.TotalQty, t.Price_of_Unit
from YourTable as t
inner join (
select Tag, sum(Qty) as TotalQty
from YourTable
group by Tag
) as sq
on t.Tag = sq.Tag
这是因为当您使用分组时,SQL需要聚合每个未显式分组的列。因此,在按标记进行分组后,您需要聚合数量(在本例中为每个标记的总数量)。如果要在select查询中使用group by
子句将Price\u of\u Unit
包括在内,则还需要对其进行聚合,这是@gordatron通过合计单价完成的,您会同意这是没有意义的。谢谢,工作正常!!