Как в MS SQL в результат первого запроса добавить значения из результата второго запроса в зависимости от значения каждой строки первого запроса
Есть таблица с задачами dbo.tasks (id, name)
SELECT * FROM dbo.tasks;
У задач есть зависимые (предыдущие) задачи из таблицы dbo.depend (в столбце succ_id указан id последующей задачи из таблицы dbo.tasks)
SELECT * FROM dbo.depend;
Необходимо вывести в результате таблицу с задачами и в дополнительной колонке количество зависимых (предыдущих) работ
Для конкретной задачи я делаю так
DECLARE @count_pred INT, @task_id INT = 111;
--Получаем количество зависимых (предыдущих) задач для конкретной задачи
SELECT @count_pred = COUNT(*)
FROM dbo.tasks a, dbo.depend b
WHERE a.id = b.id AND b.succ_id = @task_id;
--PRINT @count_pred;
--Объеденяем и показываем результат
SELECT a.id, a.name, COUNT(b.id) count_pred
FROM dbo.tasks a
JOIN dbo.depend b ON a.id = b.succ_id AND a.id = @task_id
GROUP BY a.id, a.name;
Но как мне вывести количество зависимых (предыдущих) задач для каждой строки результата запроса, чтобы получился такой результат:
UPD:
USE [database]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tasks](
[id] [int] NOT NULL,
[name] [nvarchar](max) NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
CREATE TABLE [dbo].[depend](
[id] [int] NOT NULL,
[succ_id] [int] NOT NULL
) ON [PRIMARY]
GO
INSERT INTO [dbo].[tasks] ([id],[name])
VALUES
(1,'Купить краску'),
(11,'Подготовить стену'),
(111,'Покраска стены'),
(2,'Купить лопаты'),
(222,'Земляные работы'),
(3,'Купить трубы'),
(333,'Трубопровод');
INSERT INTO [dbo].[depend] ([id],[succ_id])
VALUES
(1,111),
(11,111),
(2,222),
(3,333);
GO



