我正在尝试执行一个查询,但我的总和部分遇到了麻烦。我有表A和表B.我想从表A中总结一列,其中表A和表B中的2列是相同的,并且属于相同的日期和班次。然而,总结包括表B以及某种方式。我不知道为什么会这样。我该怎么做才能它只对表A求和,但仍然包括表B的条件。任何帮助都非常感谢。谢谢。
SELECT Sum (a.TotalLbs)
FROM TableA a
INNER JOIN TableB b
ON a.Wic = b.Wic
WHERE a.DateTime = b.DateTime
AND a.Shift = b.Shift
答案 0 :(得分:5)
当有多个B行与A行匹配时,该连接会生成多个输出行。
您实际上并不对任何B值感兴趣,您只想知道是否有匹配的行:
SELECT Sum(TotalLbs)
FROM TableA a
WHERE EXISTS (SELECT 1
FROM TableB b
WHERE a.Wic = b.Wic
AND a.DateTime = b.DateTime
AND a.Shift = b.Shift)