Вы хотите использовать INNER JOIN здесь и агрегацию с SUM()
и GROUP BY
SELECT
table1.DC,
table1.Item,
table1.Day,
Sum(table2.ShippedCases) as ShippedCases,
Table2.LabelType
FROM
Table1
INNER JOIN Table2
ON Table1.DC = Table2.DC
AND Table1.Item = Table2.Item
AND Table1.Day = Table2.Day
WHERE
Table2.LabelType = 'A'
GROUP BY 1,2,3,5
Если у вас есть элементы в Таблице 1, которых нет в Таблице2, вам нужно преобразовать их в ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ:
SELECT
table1.DC,
table1.Item,
table1.Day,
Sum(table2.ShippedCases) as ShippedCases,
Table2.LabelType
FROM
Table1
LEFT OUTER JOIN Table2
ON Table1.DC = Table2.DC
AND Table1.Item = Table2.Item
AND Table1.Day = Table2.Day
AND Table2.LabelType = 'A'
GROUP BY 1,2,3,5
Обратите внимание, что мы перемещаем предложение WHERE вверх в предложение ON в LEFT OUTER JOIN, чтобы гарантировать, что только элементы в Table2 ограничены для этого LabelType. Другими словами, Teradata будет фильтровать Table2 ДО присоединения к Table1. ПОТОМУ ЧТО это ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ, вы получите ВСЕ записи из Таблицы 1, а затем только те из Таблицы 2, которые проходят фильтр и соответствуют условиям ВКЛ.