Используйте предложение JOIN для связывания полей dept
вместо WHERE. Используйте вложенную IIf () для выбора подходящего положения.
SELECT a.name, a.dept,
IIf(pos="eng", posval1, IIf(pos="research", posval2, IIf(pos="dv1", posval3, "None"))) AS Position
FROM table1 a INNER JOIN table2 b ON a.dept = b.dept;
Или используйте функцию Switch ().
SELECT a.name, a.dept,
Switch(pos="eng",posval1, pos="research",posval2, pos="dv1",posval3) AS Position
FROM table1 a INNER JOIN table2 b ON a.dept = b.dept;