Что касается моего примера, я пытаюсь добавить значения столбца RANGE для нескольких строк в TABLE1, где значение столбца SOURCE каждой из этих строк равно значению столбца ID различных строк в TABLE1, для которых значение столбца PARENT равно эти разные строки равны значению столбца ID в TABLE2. Я нарисовал диаграмму сортов, чтобы наглядно показать это тоже.

У меня возникают проблемы при выборе только одного значения строки TABLE2.ID для подключения к подзапросу Select, затем основной выбор нужно запускать снова и снова, используя значение TABLE2.ID следующего ряда. В каждой таблице тысячи строк.
Я играл с извлечением и отставанием, но я действительно недостаточно осведомлен, чтобы понять это в настоящее время. Я все еще изучаю, как .... Как есть ниже, я полагаю, что он хочет добавить все значения RANGE всех строк TABLE1, так как идентификатор выбора подзапроса читает все строки в TABLE2 (где TABLE1.SOURCE = TABLE2.ID)
Select
ID,
(Select SUM(RANGE)
from TABLE1
where SOURCE in
(Select A.ID
from TABLE1 A, TABLE2 B
where A.PARENT = B.ID
)
) as "SUM(RANGE)"
from TABLE2
______________
Result:
______________
ID SUM(RANGE)
A10 18
A11 18
Ожидаемый результат:
ID SUM(RANGE)
A10 13
A11 5
Пример таблицы данных:
TABLE1
ID RANGE SOURCE PARENT
A1 A10
A2 A10
A3 A10
A4 A11
A5 A11
2 A1
5 A2
6 A3
1 A4
4 A5
---------------------------------
TABLE2
ID
A10
A11