У меня есть две таблицы
Пусть предположим, А и В
Теперь предположим, что структура таблицы A имеет вид
id stock
37 1
40 1
37 1
40 1
37 1
37 1
А В такой
id stock
37 1
37 1
40 1
Теперь я хочу написать запрос, который даст мне сумму определенного запаса идентификатора в (таблица A - Таблица B), и если этот идентификатор не существует в таблице B, то только запас из A.
Так что я буду ожидать такой результат
id stock
40 1
37 2
Я думал, что здесь будет возможен левый переход, и я пишу запрос вот так
SELECT A.id,
SUM(CAST(isNull(A.Stock, 0) as int) - CAST(isNull(B.Stock, 0) as int) )'Stock'
from A
LEFT OUTER JOIN
B
ON A.id = B.id
group by A.id
Но проблема в том, что приведенный выше запрос дает желаемые записи, но неверное количество / уровень запасов, как показано ниже:
id stock
37 0
40 1
Как решить проблему с уровнем запасов.