On Thu, 15 Apr 2010, Kevin Grittner wrote:
Tom Lane <t...@sss.pgh.pa.us> wrote:I'm not sure how much it would help to increase the statistics targets, but that would be worth trying.
Setting statistics to 1000 helps for that particular reduced query, but full query (attached) is out of luck.
I notice that the scan rowcount estimates are very accurate, there's that one hash join result that's way off, though. What's up with the sort of _accrged7200 (in the slower plan) taking in 3.5 million rows and putting out 1 row? There's something there I'm not understanding. -Kevin
Regards, Oleg _____________________________________________________________ Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru), Sternberg Astronomical Institute, Moscow University, Russia Internet: o...@sai.msu.su, http://www.sai.msu.su/~megera/ phone: +007(495)939-16-83, +007(495)939-23-83
--set enable_mergejoin to off; explain analyze SELECT _V8TblAli1_Q_000_T_001._AccountRRef AS f_3, _V8TblAli1_Q_000_T_001._Value1_TYPE AS f_4, _V8TblAli1_Q_000_T_001._Value1_RTRef AS f_5, _V8TblAli1_Q_000_T_001._Value1_RRRef AS f_6, _V8TblAli1_Q_000_T_001._Value2_TYPE AS f_7, _V8TblAli1_Q_000_T_001._Value2_RTRef AS f_8, _V8TblAli1_Q_000_T_001._Value2_RRRef AS f_9, _V8TblAli1_Q_000_T_001._Value3_TYPE AS f_10, _V8TblAli1_Q_000_T_001._Value3_RTRef AS f_11, _V8TblAli1_Q_000_T_001._Value3_RRRef AS f_12, 0 AS f_13, 0 AS f_14, 0 AS f_15, 0 AS f_16, SUM(_V8TblAli1_Q_000_T_001._Fld7178TurnoverCt) AS f_17, SUM(_V8TblAli1_Q_000_T_001._Fld7180TurnoverCt) AS f_18, SUM(_V8TblAli1_Q_000_T_001._Fld7178TurnoverCt) AS f_19, SUM(_V8TblAli1_Q_000_T_001._Fld7180TurnoverCt) AS f_20, SUM(_V8TblAli1_Q_000_T_001._Fld7178TurnoverCt) AS f_21, SUM(_V8TblAli1_Q_000_T_001._Fld7180TurnoverCt) AS f_22 FROM ( SELECT _V8TblAli1_R._Period AS _Period, _V8TblAli1_R._RecorderTRef AS _RecorderTRef, _V8TblAli1_R._RecorderRRef AS _RecorderRRef, _V8TblAli1_R._AccountRRef AS _AccountRRef, _V8TblAli1_R._Value1_TYPE AS _Value1_TYPE, _V8TblAli1_R._Value1_RTRef AS _Value1_RTRef, _V8TblAli1_R._Value1_RRRef AS _Value1_RRRef, _V8TblAli1_R._Value2_TYPE AS _Value2_TYPE, _V8TblAli1_R._Value2_RTRef AS _Value2_RTRef, _V8TblAli1_R._Value2_RRRef AS _Value2_RRRef, _V8TblAli1_R._Value3_TYPE AS _Value3_TYPE, _V8TblAli1_R._Value3_RTRef AS _Value3_RTRef, _V8TblAli1_R._Value3_RRRef AS _Value3_RRRef, CASE WHEN SUM(_V8TblAli1_R._Fld7178TurnoverCt) IS NULL THEN CAST(0 AS NUMERIC(22,2)) ELSE SUM(_V8TblAli1_R._Fld7178TurnoverCt) END AS _Fld7178TurnoverCt, CASE WHEN SUM(_V8TblAli1_R._Fld7180TurnoverCt) IS NULL THEN CAST(0 AS NUMERIC(22,3)) ELSE SUM(_V8TblAli1_R._Fld7180TurnoverCt) END AS _Fld7180TurnoverCt FROM ( SELECT _AccRg7175_R._Period AS _Period, _AccRg7175_R._RecorderTRef AS _RecorderTRef, _AccRg7175_R._RecorderRRef AS _RecorderRRef, _AccRg7175_R._AccountDtRRef AS _AccountRRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED1 = TRUE THEN CASE WHEN _AccRgED7200_TED1._Value_TYPE = '\\001'::bytea OR _AccRgED7200_TED1._Value_TYPE = '\\010'::bytea AND _AccRgED7200_TED1._Value_RTRef IS NOT NULL AND _AccRgED7200_TED1._Value_RRRef IS NOT NULL THEN _AccRgED7200_TED1._Value_TYPE ELSE NULL END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\001'::bytea OR CAST(NULL AS BYTEA) = '\\010'::bytea AND CAST(NULL AS BYTEA) IS NOT NULL THEN CAST(NULL AS BYTEA) ELSE NULL END END AS _Value1_TYPE, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED1 = TRUE THEN CASE WHEN _AccRgED7200_TED1._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED1._Value_RTRef WHEN _AccRgED7200_TED1._Value_TYPE IS NULL OR _AccRgED7200_TED1._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END END AS _Value1_RTRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED1 = TRUE THEN CASE WHEN _AccRgED7200_TED1._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED1._Value_RRRef WHEN _AccRgED7200_TED1._Value_TYPE IS NULL OR _AccRgED7200_TED1._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END END AS _Value1_RRRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED2 = TRUE THEN CASE WHEN _AccRgED7200_TED2._Value_TYPE = '\\001'::bytea OR _AccRgED7200_TED2._Value_TYPE = '\\010'::bytea AND _AccRgED7200_TED2._Value_RTRef IS NOT NULL AND _AccRgED7200_TED2._Value_RRRef IS NOT NULL THEN _AccRgED7200_TED2._Value_TYPE ELSE NULL END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\001'::bytea OR CAST(NULL AS BYTEA) = '\\010'::bytea AND CAST(NULL AS BYTEA) IS NOT NULL THEN CAST(NULL AS BYTEA) ELSE NULL END END AS _Value2_TYPE, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED2 = TRUE THEN CASE WHEN _AccRgED7200_TED2._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED2._Value_RTRef WHEN _AccRgED7200_TED2._Value_TYPE IS NULL OR _AccRgED7200_TED2._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END END AS _Value2_RTRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED2 = TRUE THEN CASE WHEN _AccRgED7200_TED2._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED2._Value_RRRef WHEN _AccRgED7200_TED2._Value_TYPE IS NULL OR _AccRgED7200_TED2._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END END AS _Value2_RRRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED3 = TRUE THEN CASE WHEN _AccRgED7200_TED3._Value_TYPE = '\\001'::bytea OR _AccRgED7200_TED3._Value_TYPE = '\\010'::bytea AND _AccRgED7200_TED3._Value_RTRef IS NOT NULL AND _AccRgED7200_TED3._Value_RRRef IS NOT NULL THEN _AccRgED7200_TED3._Value_TYPE ELSE NULL END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\001'::bytea OR CAST(NULL AS BYTEA) = '\\010'::bytea AND CAST(NULL AS BYTEA) IS NOT NULL THEN CAST(NULL AS BYTEA) ELSE NULL END END AS _Value3_TYPE, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED3 = TRUE THEN CASE WHEN _AccRgED7200_TED3._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED3._Value_RTRef WHEN _AccRgED7200_TED3._Value_TYPE IS NULL OR _AccRgED7200_TED3._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END END AS _Value3_RTRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED3 = TRUE THEN CASE WHEN _AccRgED7200_TED3._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED3._Value_RRRef WHEN _AccRgED7200_TED3._Value_TYPE IS NULL OR _AccRgED7200_TED3._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END END AS _Value3_RRRef, CAST(0 AS NUMERIC(15,2)) AS _Fld7178TurnoverCt, CAST(0 AS NUMERIC(15,3)) AS _Fld7180TurnoverCt FROM _AccRg7175 _AccRg7175_R INNER JOIN tt3 RD3722586b56744409b0f43cff4e9ed7a9_RD ON RD3722586b56744409b0f43cff4e9ed7a9_RD._IDRRef = _AccRg7175_R._AccountDtRRef LEFT OUTER JOIN _Acc7_ExtDim7144 _Acc7_ExtDim7144_TEDAcc1 ON _Acc7_ExtDim7144_TEDAcc1._Acc7_IDRRef = _AccRg7175_R._AccountDtRRef AND _Acc7_ExtDim7144_TEDAcc1._LineNo = 1 LEFT OUTER JOIN _AccRgED7200 _AccRgED7200_TED1 ON _AccRgED7200_TED1._RecorderTRef = _AccRg7175_R._RecorderTRef AND _AccRgED7200_TED1._RecorderRRef = _AccRg7175_R._RecorderRRef AND _AccRgED7200_TED1._LineNo = _AccRg7175_R._LineNo AND _AccRgED7200_TED1._Period = _AccRg7175_R._Period AND _AccRgED7200_TED1._Correspond = 0 AND _AccRgED7200_TED1._KindRRef = _Acc7_ExtDim7144_TEDAcc1._DimKindRRef LEFT OUTER JOIN _Acc7_ExtDim7144 _Acc7_ExtDim7144_TEDAcc2 ON _Acc7_ExtDim7144_TEDAcc2._Acc7_IDRRef = _AccRg7175_R._AccountDtRRef AND _Acc7_ExtDim7144_TEDAcc2._LineNo = 2 LEFT OUTER JOIN _AccRgED7200 _AccRgED7200_TED2 ON _AccRgED7200_TED2._RecorderTRef = _AccRg7175_R._RecorderTRef AND _AccRgED7200_TED2._RecorderRRef = _AccRg7175_R._RecorderRRef AND _AccRgED7200_TED2._LineNo = _AccRg7175_R._LineNo AND _AccRgED7200_TED2._Period = _AccRg7175_R._Period AND _AccRgED7200_TED2._Correspond = 0 AND _AccRgED7200_TED2._KindRRef = _Acc7_ExtDim7144_TEDAcc2._DimKindRRef LEFT OUTER JOIN _Acc7_ExtDim7144 _Acc7_ExtDim7144_TEDAcc3 ON _Acc7_ExtDim7144_TEDAcc3._Acc7_IDRRef = _AccRg7175_R._AccountDtRRef AND _Acc7_ExtDim7144_TEDAcc3._LineNo = 3 LEFT OUTER JOIN _AccRgED7200 _AccRgED7200_TED3 ON _AccRgED7200_TED3._RecorderTRef = _AccRg7175_R._RecorderTRef AND _AccRgED7200_TED3._RecorderRRef = _AccRg7175_R._RecorderRRef AND _AccRgED7200_TED3._LineNo = _AccRg7175_R._LineNo AND _AccRgED7200_TED3._Period = _AccRg7175_R._Period AND _AccRgED7200_TED3._Correspond = 0 AND _AccRgED7200_TED3._KindRRef = _Acc7_ExtDim7144_TEDAcc3._DimKindRRef WHERE _AccRg7175_R._Active = TRUE AND _AccRg7175_R._AccountDtRRef IN (SELECT tt2._REFFIELDRRef AS f_1 FROM tt2) AND _AccRg7175_R._Fld7176RRef = '\\270\\366\\277J\\304\\243\\004\\354N\\356\\342\\225\\021\\026\\253{'::bytea AND _AccRg7175_R._Period >= '2009-10-01 00:00:00'::timestamp AND _AccRg7175_R._Period <= '2009-10-31 23:59:59'::timestamp UNION ALL (SELECT _AccRg7175_R._Period AS _Period, _AccRg7175_R._RecorderTRef AS _RecorderTRef, _AccRg7175_R._RecorderRRef AS _RecorderRRef, _AccRg7175_R._AccountCtRRef AS _AccountRRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED1 = TRUE THEN CASE WHEN _AccRgED7200_TED1._Value_TYPE = '\\001'::bytea OR _AccRgED7200_TED1._Value_TYPE = '\\010'::bytea AND _AccRgED7200_TED1._Value_RTRef IS NOT NULL AND _AccRgED7200_TED1._Value_RRRef IS NOT NULL THEN _AccRgED7200_TED1._Value_TYPE ELSE NULL END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\001'::bytea OR CAST(NULL AS BYTEA) = '\\010'::bytea AND CAST(NULL AS BYTEA) IS NOT NULL THEN CAST(NULL AS BYTEA) ELSE NULL END END AS _Value1_TYPE, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED1 = TRUE THEN CASE WHEN _AccRgED7200_TED1._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED1._Value_RTRef WHEN _AccRgED7200_TED1._Value_TYPE IS NULL OR _AccRgED7200_TED1._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END END AS _Value1_RTRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED1 = TRUE THEN CASE WHEN _AccRgED7200_TED1._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED1._Value_RRRef WHEN _AccRgED7200_TED1._Value_TYPE IS NULL OR _AccRgED7200_TED1._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END END AS _Value1_RRRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED2 = TRUE THEN CASE WHEN _AccRgED7200_TED2._Value_TYPE = '\\001'::bytea OR _AccRgED7200_TED2._Value_TYPE = '\\010'::bytea AND _AccRgED7200_TED2._Value_RTRef IS NOT NULL AND _AccRgED7200_TED2._Value_RRRef IS NOT NULL THEN _AccRgED7200_TED2._Value_TYPE ELSE NULL END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\001'::bytea OR CAST(NULL AS BYTEA) = '\\010'::bytea AND CAST(NULL AS BYTEA) IS NOT NULL THEN CAST(NULL AS BYTEA) ELSE NULL END END AS _Value2_TYPE, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED2 = TRUE THEN CASE WHEN _AccRgED7200_TED2._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED2._Value_RTRef WHEN _AccRgED7200_TED2._Value_TYPE IS NULL OR _AccRgED7200_TED2._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END END AS _Value2_RTRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED2 = TRUE THEN CASE WHEN _AccRgED7200_TED2._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED2._Value_RRRef WHEN _AccRgED7200_TED2._Value_TYPE IS NULL OR _AccRgED7200_TED2._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END END AS _Value2_RRRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED3 = TRUE THEN CASE WHEN _AccRgED7200_TED3._Value_TYPE = '\\001'::bytea OR _AccRgED7200_TED3._Value_TYPE = '\\010'::bytea AND _AccRgED7200_TED3._Value_RTRef IS NOT NULL AND _AccRgED7200_TED3._Value_RRRef IS NOT NULL THEN _AccRgED7200_TED3._Value_TYPE ELSE NULL END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\001'::bytea OR CAST(NULL AS BYTEA) = '\\010'::bytea AND CAST(NULL AS BYTEA) IS NOT NULL THEN CAST(NULL AS BYTEA) ELSE NULL END END AS _Value3_TYPE, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED3 = TRUE THEN CASE WHEN _AccRgED7200_TED3._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED3._Value_RTRef WHEN _AccRgED7200_TED3._Value_TYPE IS NULL OR _AccRgED7200_TED3._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000'::bytea END END AS _Value3_RTRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._ED3 = TRUE THEN CASE WHEN _AccRgED7200_TED3._Value_TYPE = '\\010'::bytea THEN _AccRgED7200_TED3._Value_RRRef WHEN _AccRgED7200_TED3._Value_TYPE IS NULL OR _AccRgED7200_TED3._Value_TYPE NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END ELSE CASE WHEN CAST(NULL AS BYTEA) = '\\010'::bytea THEN CAST(NULL AS BYTEA) WHEN CAST(NULL AS BYTEA) IS NULL OR CAST(NULL AS BYTEA) NOT IN ('\\001'::bytea,'\\010'::bytea) THEN NULL ELSE '\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000\\000'::bytea END END AS _Value3_RRRef, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._RF1 = TRUE THEN _AccRg7175_R._Fld7178 ELSE CAST(0 AS NUMERIC(15,2)) END AS _Fld7178TurnoverCt, CASE WHEN RD3722586b56744409b0f43cff4e9ed7a9_RD._RF2 = TRUE THEN _AccRg7175_R._Fld7180Ct ELSE CAST(0 AS NUMERIC(15,3)) END AS _Fld7180TurnoverCt FROM _AccRg7175 _AccRg7175_R INNER JOIN tt3 RD3722586b56744409b0f43cff4e9ed7a9_RD ON RD3722586b56744409b0f43cff4e9ed7a9_RD._IDRRef = _AccRg7175_R._AccountCtRRef LEFT OUTER JOIN _Acc7_ExtDim7144 _Acc7_ExtDim7144_TEDAcc1 ON _Acc7_ExtDim7144_TEDAcc1._Acc7_IDRRef = _AccRg7175_R._AccountCtRRef AND _Acc7_ExtDim7144_TEDAcc1._LineNo = 1 LEFT OUTER JOIN _AccRgED7200 _AccRgED7200_TED1 ON _AccRgED7200_TED1._RecorderTRef = _AccRg7175_R._RecorderTRef AND _AccRgED7200_TED1._RecorderRRef = _AccRg7175_R._RecorderRRef AND _AccRgED7200_TED1._LineNo = _AccRg7175_R._LineNo AND _AccRgED7200_TED1._Period = _AccRg7175_R._Period AND _AccRgED7200_TED1._Correspond = 1 AND _AccRgED7200_TED1._KindRRef = _Acc7_ExtDim7144_TEDAcc1._DimKindRRef LEFT OUTER JOIN _Acc7_ExtDim7144 _Acc7_ExtDim7144_TEDAcc2 ON _Acc7_ExtDim7144_TEDAcc2._Acc7_IDRRef = _AccRg7175_R._AccountCtRRef AND _Acc7_ExtDim7144_TEDAcc2._LineNo = 2 LEFT OUTER JOIN _AccRgED7200 _AccRgED7200_TED2 ON _AccRgED7200_TED2._RecorderTRef = _AccRg7175_R._RecorderTRef AND _AccRgED7200_TED2._RecorderRRef = _AccRg7175_R._RecorderRRef AND _AccRgED7200_TED2._LineNo = _AccRg7175_R._LineNo AND _AccRgED7200_TED2._Period = _AccRg7175_R._Period AND _AccRgED7200_TED2._Correspond = 1 AND _AccRgED7200_TED2._KindRRef = _Acc7_ExtDim7144_TEDAcc2._DimKindRRef LEFT OUTER JOIN _Acc7_ExtDim7144 _Acc7_ExtDim7144_TEDAcc3 ON _Acc7_ExtDim7144_TEDAcc3._Acc7_IDRRef = _AccRg7175_R._AccountCtRRef AND _Acc7_ExtDim7144_TEDAcc3._LineNo = 3 LEFT OUTER JOIN _AccRgED7200 _AccRgED7200_TED3 ON _AccRgED7200_TED3._RecorderTRef = _AccRg7175_R._RecorderTRef AND _AccRgED7200_TED3._RecorderRRef = _AccRg7175_R._RecorderRRef AND _AccRgED7200_TED3._LineNo = _AccRg7175_R._LineNo AND _AccRgED7200_TED3._Period = _AccRg7175_R._Period AND _AccRgED7200_TED3._Correspond = 1 AND _AccRgED7200_TED3._KindRRef = _Acc7_ExtDim7144_TEDAcc3._DimKindRRef WHERE _AccRg7175_R._Active = TRUE AND _AccRg7175_R._AccountCtRRef IN (SELECT tt2._REFFIELDRRef AS f_2 FROM tt2) AND _AccRg7175_R._Fld7176RRef = '\\270\\366\\277J\\304\\243\\004\\354N\\356\\342\\225\\021\\026\\253{'::bytea AND _AccRg7175_R._Period >= '2009-10-01 00:00:00'::timestamp AND _AccRg7175_R._Period <= '2009-10-31 23:59:59'::timestamp) ) _V8TblAli1_R GROUP BY _V8TblAli1_R._Period, _V8TblAli1_R._RecorderTRef, _V8TblAli1_R._RecorderRRef, _V8TblAli1_R._AccountRRef, _V8TblAli1_R._Value1_TYPE, _V8TblAli1_R._Value1_RTRef, _V8TblAli1_R._Value1_RRRef, _V8TblAli1_R._Value2_TYPE, _V8TblAli1_R._Value2_RTRef, _V8TblAli1_R._Value2_RRRef, _V8TblAli1_R._Value3_TYPE, _V8TblAli1_R._Value3_RTRef, _V8TblAli1_R._Value3_RRRef HAVING CASE WHEN SUM(_V8TblAli1_R._Fld7178TurnoverCt) IS NULL THEN CAST(0 AS NUMERIC(22,2)) ELSE SUM(_V8TblAli1_R._Fld7178TurnoverCt) END <> 0 OR CASE WHEN SUM(_V8TblAli1_R._Fld7180TurnoverCt) IS NULL THEN CAST(0 AS NUMERIC(22,3)) ELSE SUM(_V8TblAli1_R._Fld7180TurnoverCt) END <> 0 ) _V8TblAli1_Q_000_T_001 GROUP BY _V8TblAli1_Q_000_T_001._AccountRRef, _V8TblAli1_Q_000_T_001._Value1_TYPE, _V8TblAli1_Q_000_T_001._Value1_RTRef, _V8TblAli1_Q_000_T_001._Value1_RRRef, _V8TblAli1_Q_000_T_001._Value2_TYPE, _V8TblAli1_Q_000_T_001._Value2_RTRef, _V8TblAli1_Q_000_T_001._Value2_RRRef, _V8TblAli1_Q_000_T_001._Value3_TYPE, _V8TblAli1_Q_000_T_001._Value3_RTRef, _V8TblAli1_Q_000_T_001._Value3_RRRef ;
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers