如何从联接语句中汇总单个表

ENG*_*024 0 sql sql-server sqlite sql-server-2008

我正在尝试执行查询,但我的总和部分遇到了麻烦.我有表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 
Run Code Online (Sandbox Code Playgroud)

CL.*_*CL. 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)
Run Code Online (Sandbox Code Playgroud)