DECLARE @emp TABLE
(
emp_id INT,
emp_name VARCHAR(20),
dept_id INT
);
INSERT INTO @emp
(
emp_id,
emp_name,
dept_id
)
VALUES
--Emp_ID Emp_Name Dept_ID
(1, 'John ', 1),
(2, 'Bob', 1),
(3, 'Susie', 2),
(4, 'Jack', 3),
(5, 'Jill', 3);
DECLARE @purch TABLE
(
emp_id INT,
Bought_From_Emp_ID INT
);
INSERT INTO @purch
(
emp_id,
Bought_From_Emp_ID
)
VALUES
(1, 2),
(2, 3),
(4, 5),
(5, 1);
SELECT e.emp_id,
e1.emp_id AS Bought_From_Emp_ID,
e.dept_id AS Same_Dept_ID
FROM @purch p
JOIN @emp e
ON p.emp_id = e.emp_id
JOIN @emp e1
ON p.Bought_From_Emp_ID = e1.emp_id
AND e.dept_id = e1.dept_id
WHERE e1.emp_id <> e.emp_id;