SQL Access中的SumIF

时间:2014-03-20 14:15:29

标签: sql ms-access

您好我是VBA / SQL的初学者。我有2个表[Broker]和[OPT]。 [经纪人]有2个字段BRKR_CODE, Status和[OPT]有5个字段BRKR1, BRKR2, Date, COM_BRK1, COM_BRKR2

OPT.BRKR1OPT.BRKR2Broker.BRKR_CODE相关联且可以相等。

我想写这个查询....如果Broker.Status="Active"那么选择Broker.BRKR_CODE 然后对于每个Broker.BRKR_CODE(例如" CB")OPT.COM_BRKR1时的OPT.BRKR1="CB"总和OPT.COM_BRKR2 + OPT.BRKR2="CB"时的总和 SELECT IIF(Broker.Status="Active",Broker.BRKR_CODE), Sum(OPT.COM_BRKR1)+ Sum(OPT.COM_BRKR2) AS OPT_Tot FROM Broker INNER JOIN OPT ON (Broker.BRKR_CODE = OPT.BRKR2) AND (Broker.BRKR_CODE = OPT.BRKR1) GROUP BY Broker.BRKR_CODE;

我写了这段代码....但它根本不起作用......因为我说我是新手......

{{1}}

非常感谢

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您需要在查询中更改两件事。第一种是将条件移动到where子句。你似乎只想要" Active"的东西。第二种是将AND子句中的on更改为OR。您希望在任一代码上进行匹配。

SELECT Broker.BRKR_CODE,
       Sum(OPT.COM_BRKR1)+ Sum(OPT.COM_BRKR2) AS OPT_Tot
FROM Broker INNER JOIN
     OPT
     ON (Broker.BRKR_CODE = OPT.BRKR2) OR (Broker.BRKR_CODE = OPT.BRKR1)
WHERE Broker.Status = "Active"
GROUP BY Broker.BRKR_CODE;