Ms access 注册访问查询
看看下面的例子Ms access 注册访问查询,ms-access,Ms Access,看看下面的例子 type qty total A 10 10 A 5 15 S 7 8 A 12 20 S 5 15 我需要一个访问查询,可以找到总计,即如果类型为“A”,则将其添加到总计,如果类型为“S”,则从总计中减去。有人可以帮助我吗。您可以使用Iif函数反转类型S的行,例如: SELECT Sum(IIf([type]=
type qty total
A 10 10
A 5 15
S 7 8
A 12 20
S 5 15
我需要一个访问查询,可以找到总计,即如果类型为“A”,则将其添加到总计,如果类型为“S”,则从总计中减去。有人可以帮助我吗。您可以使用Iif函数反转类型S的行,例如:
SELECT Sum(IIf([type]="S",-[total],[total])) AS subtotal
FROM table;
或者,在“查询”视图中,可以通过添加新字段来执行此操作,如下所示:
subtotal: IIf([type]="S",-[total],[total])
然后激活工具栏中的“总计”图标,并选择“总和”作为总计值 类似这样:
SELECT T1.type, T1.qty, T1.total, T1.total + T1.qty AS subtotal
FROM MyTable AS T1
WHERE T1.type = 'A'
UNION ALL
SELECT T1.type, T1.qty, T1.total, T1.total - T1.qty AS subtotal
FROM MyTable AS T1
WHERE T1.type = 'S';
或者可能是:
SELECT T1.type, T1.qty, T1.total,
T1.total + SWITCH(
T1.type = 'A', T1.qty,
T1.type = 'S', 0 - T1.qty,
TRUE, NULL
) AS subtotal
FROM MyTable AS T1;
根据您觉得更容易阅读的内容,您希望如何处理既不是“A”也不是“S”的行,以及哪一行的性能最好(依此顺序,IMO)。不确定您是否正确解释了“总计”,即它们是指其名为“总计”的列,还是要合计(总和)?我真的不知道。
SELECT IIF(Type = 'A',total + qty,total - qty) as newTotal from table1