我需要使用父表上 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')
但显然它不起作用。请问有什么提示吗?