SELECT * FROM
(select NAME NMT1, COUNT(*) TOTTABS 
from SYSIBM.SYSCOLUMNS 
GROUP BY NAME) T1
LEFT JOIN 
(select NAME NMT2, COLTYPE, LENGTH, SCALE, COUNT(*) TOTTIPO 
from SYSIBM.SYSCOLUMNS
GROUP BY NAME, COLTYPE, LENGTH, SCALE) T2
ON T1.NMT1 = T2.NMT2 
WHERE TOTTABS <> TOTTIPO


SELECT C.NAME, C.TBCREATOR, C.TBNAME, COLTYPE, LENGTH, SCALE FROM SYSIBM.SYSCOLUMNS C
JOIN SYSIBM.SYSTABLES T
ON C.TBNAME=T.NAME AND C.TBCREATOR=T.CREATOR
WHERE T.TYPE='T' AND
C.NAME IN
(SELECT DISTINCT NMT1 FROM
(select NAME NMT1, COUNT(*) QTD1 
from SYSIBM.SYSCOLUMNS 
GROUP BY NAME) T1
LEFT JOIN 
(select NAME NMT2, COLTYPE, LENGTH, SCALE, COUNT(*) QTD2 
from SYSIBM.SYSCOLUMNS
GROUP BY NAME, COLTYPE, LENGTH, SCALE) T2
ON T1.NMT1 = T2.NMT2 
WHERE QTD1 <> QTD2)
ORDER BY NAME, TBNAME, TBCREATOR

SELECT NMT2, COUNT(*) FROM
(select NAME NMT2, COLTYPE, LENGTH, SCALE, COUNT(*) TOTTIPO 
from SYSIBM.SYSCOLUMNS
GROUP BY NAME, COLTYPE, LENGTH, SCALE) T2
GROUP BY NMT2
HAVING COUNT(*) > 1

select count(*) from (
SELECT NMT2, COUNT(*) FROM
(select NAME NMT2, COLTYPE, LENGTH, SCALE, COUNT(*) TOTTIPO 
from SYSIBM.SYSCOLUMNS
GROUP BY NAME, COLTYPE, LENGTH, SCALE) T2
GROUP BY NMT2
HAVING COUNT(*) > 1) t3
where exists (select * from sysibm.systables s
              join sysibm.syscolumns c
              on c.tbcreator=s.creator and c.tbname=s.name
              where c.name = t3.nmt2 and s.dbname='FN')
