Código SQL:
Ver originalCREATE TABLE #inicial
(id INT,
stock INT)
INSERT INTO #inicial VALUES (1, 5)
INSERT INTO #inicial VALUES (2, 3)
INSERT INTO #inicial VALUES (3, 8)
CREATE TABLE #albaran
(id INT,
cantidad INT)
INSERT INTO #albaran VALUES (1, 8)
INSERT INTO #albaran VALUES (3, 1)
INSERT INTO #albaran VALUES (4, 10)
SELECT id,stock+cantidad AS total FROM
(
SELECT
CASE
WHEN isnull(t1.id,0)=0 AND isnull(t2.id,0)>0 THEN t2.id
WHEN isnull(t2.id,0)=0 AND isnull(t1.id,0)>0 THEN t1.id
ELSE
t2.id
END AS id,
CASE WHEN isnull(t1.stock,0)=0 THEN 0 ELSE t1.stock END AS stock,
CASE WHEN isnull(t2.cantidad,0)=0 THEN 0 ELSE t2.cantidad END AS cantidad
FROM #inicial AS t1
FULL OUTER JOIN #albaran AS t2 ON (t1.id=t2.id)
) AS total
saludos!