Мне нужно обновить все строки в таблице (родительской таблице) сводными значениями (количество, мин, макс) из дочерних таблиц по 6 полям в родительской таблице
tab1 (parent table)
-------------------
tab1_ID
tab1_low
tab1_high
tab2_ref_count
tab2_ref_low
tab2_ref_high
tab3_ref_count
tab3_ref_low
tab3_ref_high
STUS_CD
tab2 (link table for tab1 to tab1)
----------------------------------
tab1_ID
tab1_ref_ID
tab3 (link table for tab1 to tab4)
----------------------------------
tab1_ID
tab4_ref_ID
tab4
-----
tab4_ID
tab4_low
tab4_high
Чтобы свернуть счетчикииз tab2 и tab3 в tab1, ниже запрос, который я пытаюсь -
UPDATE tab1
SET (tab2_ref_count, tab2_ref_low, tab2_ref_high) =
(SELECT COUNT(t1.tab1_ID), MIN(t1.tab1_low), MAX(t1.tab1_high)
FROM tab2 t2 JOIN tab1 t1 ON (t2.tab1_ref_ID = t1.tab1_ID)
WHERE tab1.tab1_ID = t2.tab1_ID),
(tab3_ref_count, tab3_ref_low, tab3_ref_high) =
(SELECT COUNT(t4.tab4_ID), MIN(t4.tab4_low), MAX(t4.tab4_high)
FROM tab3 t3 JOIN tab4 t4 ON (t3.tab4_ref_ID = t4.tab4_ID)
WHERE tab1.tab1_ID = t3.tab1_ID)
WHERE STUS_CD IN ('01','02')
Но, видимо, он не работает.Любые советы, пожалуйста?