SQL访问中的SumIF
您好,我是VBA/SQL的初学者。我有两个表[Broker]和[OPT]。[Broker]有2个字段SQL访问中的SumIF,sql,ms-access,Sql,Ms Access,您好,我是VBA/SQL的初学者。我有两个表[Broker]和[OPT]。[Broker]有2个字段BRKR\u code,Status,[OPT]有5个字段BRKR1,BRKR2,Date,COM\BRK1,COM\BRKR2 OPT.BRKR1和OPT.BRKR2链接到Broker.BRKR_code,可以相等 我想写这个查询。。。。如果Broker.Status=“Active”则选择Broker.BRKR\u code 然后,当OPT.BRKR1=“CB”+当OPT.BRKR2=“CB”
BRKR\u code,Status
,[OPT]有5个字段BRKR1,BRKR2,Date,COM\BRK1,COM\BRKR2
OPT.BRKR1
和OPT.BRKR2
链接到Broker.BRKR_code
,可以相等
我想写这个查询。。。。如果Broker.Status=“Active”
则选择Broker.BRKR\u code
然后,当OPT.BRKR1=“CB”
+当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;
非常感谢如果我理解正确,您需要在查询中更改两件事。第一个是将条件移动到
where
子句。你似乎只想要“积极”的东西。第二个是将on
子句中的和更改为或。您希望两个代码都匹配
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;
嘿,谢谢你的回答。。。这个很好用。。。我还有一个问题。。。。我有另一个名为[TRS]的表,它具有相同的功能。。。我试着写两次sames代码,只是通过TRS
更改OPT
,但这不起作用。。。我想有两列OPT_Tot
和TRS_Tot
@sharkantipav。你应该发布另一个问题(你可以引用这个问题)。它有助于获得样本数据和所需的输出