zOs/SQL/CATUL

select     char(c.name,20) ,
           c.creator,                                char(' '),
           c.dbname,                                 char(' '),
           c.tsname,                                 char(' '),
           char(c.p_part) ,                          char(' '),
           char(c.p_limit) ,                         char(' '),
           char(count(all tid150tst)) tst_all,       char(' '),
           char(count(distinct tid150tst)) tst_dist, char(' '),
           char(coalesce(
             char(min(tid150md)) || ' '||
             char(max(tid150md)) || ' ' ||
             char(max(tid150md)) || ' ' ||
             char(min(tid150tst)) || ' ' ||
             char(max(tid150tst))
             , '<<null>>'))
  from
    ( select
         t.name, t.creator, t.dbname, t.tsname,
         p.partition p_part, int(p.limitKey) p_limit,
         q.partition q_part, int(q.limitKey) q_limNu,
         case when q.limitKey is null then -9999 else int(q.limitKey)
              end q_limit
      from sysibm.systables t
        join sysibm.systablePart p
          on t.tsname = p.tsname and t.dbname = p.dbname
        left join sysibm.systablePart q
          on p.tsname = q.tsname and p.dbname = q.dbname
             and p.partition - 1 = q.partition
      where t.name = 'TID150A1' and t.creator = 'OA1A' ) c
    left join OA1A.tid150a1 d
      on d.tid150md > c.q_limit and d.tid150md <= c.p_limit
  group by c.name, c.creator, c.dbname, c.tsname, p_part, p_limit
           ;