SELECT T.COLLID,T.NAME,T.PKSIZE,T.AVGSIZE,T.SECTNO ,T.PKSIZE + (T.AVGSIZE * FLOAT(T.SECTNO)) AS TOTAL_SIZE FROM (SELECT A.COLLID,A.NAME,A.PKSIZE,A.AVGSIZE ,CASE WHEN MAX(B.SECTNOI) <> 0 THEN CASE WHEN MAX(B.SECTNOI) <> -2147483648 THEN MAX(B.SECTNOI) ELSE MAX(B.SECTNO) END ELSE MAX(B.SECTNO) END AS SECTNO FROM SYSIBM.SYSPACKAGE A ,SYSIBM.SYSPACKSTMT B WHERE A.LOCATION = ' ' AND B.LOCATION = ' ' AND A.LOCATION = B.LOCATION -- AND A.COLLID = 'TEST_COLLID' -- AND B.COLLID = 'TEST_COLLID' AND A.COLLID = B.COLLID AND A.NAME = B.NAME GROUP BY A.COLLID,A.NAME,A.PKSIZE,A.AVGSIZE ) AS T ; SELECT SUM(T.PKSIZE + (T.AVGSIZE * FLOAT(T.SECTNO))) AS COMP_SIZE FROM (SELECT A.COLLID,A.NAME,A.PKSIZE,A.AVGSIZE ,CASE WHEN MAX(B.SECTNOI) <> 0 THEN CASE WHEN MAX(B.SECTNOI) <> -2147483648 THEN MAX(B.SECTNOI) ELSE MAX(B.SECTNO) END ELSE MAX(B.SECTNO) END AS SECTNO FROM SYSIBM.SYSPACKAGE A ,SYSIBM.SYSPACKSTMT B WHERE A.LOCATION = ' ' AND B.LOCATION = ' ' AND A.LOCATION = B.LOCATION -- AND A.COLLID = 'TEST_COLLID' -- AND B.COLLID = 'TEST_COLLID' AND A.COLLID = B.COLLID AND A.NAME = B.NAME GROUP BY A.COLLID,A.NAME,A.PKSIZE,A.AVGSIZE ) AS T ;