Если это проблема «многие-к-одному», связанная с таблицей1, вы можете захотеть:
SELECT
table2.FIELD1,
SUM(table3.FIELD2)
FROM table2 JOIN table3
ON table3.JOBINST_ID = table2.JOBINSTID
WHERE EXISTS (
SELECT * FROM table1
WHERE table1.JOBINSTID = table2.JOBINSTID
-- AND table1.JOBINSTID = table3.JOBINST_ID -- redundant, but might improve runtime
)
GROUP BY table2.FIELD1;
Если проблема (также) между таблицей 2 и таблицей 3, вам может потребоваться переосмыслить, как нормализуется ваша база данных, но вы можете попробовать это, что, я думаю, будет работать в любом случае:
SELECT -- DISTINCT -- add DISTINCT if FIELD1 values are not unique in table2
table2.FIELD1,
(
SELECT SUM(FIELD2) FROM table3
WHERE table3.JOBINST_ID = table2.JOBINSTID
)
FROM table2
WHERE EXISTS (
SELECT * FROM table1
WHERE table1.JOBINSTID = table2.JOBINSTID
)
Учитывая то, что вы сказали, трудно сказать, чего вы хотите, потому что вы не описали, какие отношения 1-1, а какие - многие-1, или не указали, какие столбцы являются уникальными в каких таблицах.