Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL查询Access 2007中添加类似的动态行_Sql_Ms Access_Add_Distinct Values - Fatal编程技术网

在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通过合计单价完成的,您会同意这是没有意义的。

谢谢,工作正常!!