将外部条件移到内部,将只会向1个节点发送SQL
原SQL
SELECT *
FROM (SELECT DISTINCT AAC001,
AAE003,
AAE140
FROM AC08
WHERE AAA115 IN ( ‘10’, ‘11’, ‘20’ )
AND AAC001 = 4000000002252449
GROUP BY AAC001,
AAE003,
AAE140,
BAE230
HAVING Sum(BAE089) > 1
AND Count(1) > 1) A
WHERE A.AAE140 IN ( ‘110’, ‘120’ )
改写sql
SELECT DISTINCT AAC001,
AAE003,
AAE140
FROM AC08
WHERE AAA115 IN ( ‘10’, ‘11’, ‘20’ )
AND AAC001 = 4000000002252449
AND AAE140 IN ( ‘110’, ‘120’ )
GROUP BY AAC001,
AAE003,
AAE140,
BAE230
HAVING Sum(BAE089) > 1
AND Count(1) > 1