Wildcard in subqueries not supported Apache Phoenix SQL

24 views Asked by At

I am new to Phoenix SQL / using Hbase database. Currently, I am experiencing an error in my nested subquery. Here is my query:

SELECT DISTINCT res.zipfile,
                res.recordtimestamp,
                res.countdata
FROM
  (SELECT zipfile,
          recordtimestamp,
          COUNT(vc1) countdata
   FROM
     (SELECT tmp.zipfile,
             tmp.versioncode,
             tmp.idpelapor,
             tmp.periodedata,
             tmp.periodelaporan,
             tmp.recordtimestamp,
             tmp.versioncode vc1,
             ds.versioncode vc2
      FROM
        (SELECT zf.*,
                ds.idpelapor,
                ds.periodedata,
                ds.periodelaporan
         FROM
           (SELECT DISTINCT z.zipfile,
                            z.recordtimestamp,
                            z.jumlah_rows
            FROM
              (SELECT zipfile,
                      recordtimestamp,
                      COUNT(1) jumlah_rows
               FROM ip_rpt.zipfiles
               WHERE processed='0'
               GROUP BY zipfile,
                        recordtimestamp) z
            JOIN
              (SELECT DISTINCT zipfile,
                               recordtimestamp,
                               numfiles
               FROM ip_rpt.zipfiles
               WHERE processed='0') z2 ON (z.zipfile=z2.zipfile
                                           AND z.recordtimestamp=z2.recordtimestamp)
            WHERE z.jumlah_rows=CAST(TO_NUMBER(z2.numfiles) AS INTEGER)) zf
         JOIN
           (SELECT DISTINCT zipfile,
                            recordtimestamp,
                            numfiles,
                            processed,
                            idpelapor,
                            periodedata,
                            periodelaporan
            FROM ip_rpt.zipfiles
            WHERE processed='0') ds ON (zf.zipfile=ds.zipfile
                                        AND zf.recordtimestamp=ds.recordtimestamp)) tmp
      LEFT JOIN
        (SELECT *
         FROM ip_rpt.delivery_status
         WHERE SEQUENCE_NUMBER='2') ds ON (tmp.idpelapor=ds.idpelapor
                                           AND tmp.periodedata=ds.periodedata
                                           AND tmp.periodelaporan=ds.periodelaporan
                                           AND tmp.versioncode=ds.versioncode
                                           AND tmp.recordtimestamp=ds.recordtimestamp)
      WHERE tmp.processed='0') tmp
   GROUP BY zipfile,
            recordtimestamp) res
JOIN
  (SELECT zipfile,
          recordtimestamp,
          COUNT(vc2) countdata
   FROM
     (SELECT tmp.zipfile,
             tmp.versioncode,
             tmp.idpelapor,
             tmp.periodedata,
             tmp.periodelaporan,
             tmp.recordtimestamp,
             tmp.versioncode vc1,
             ds.versioncode vc2
      FROM
        (SELECT zf.*,
                ds.idpelapor,
                ds.periodedata,
                ds.periodelaporan
         FROM
           (SELECT DISTINCT z.zipfile,
                            z.recordtimestamp,
                            z.jumlah_rows
            FROM
              (SELECT zipfile,
                      recordtimestamp,
                      COUNT(1) jumlah_rows
               FROM ip_rpt.zipfiles
               WHERE processed='0'
               GROUP BY zipfile,
                        recordtimestamp) z
            JOIN
              (SELECT DISTINCT zipfile,
                               recordtimestamp,
                               numfiles
               FROM ip_rpt.zipfiles
               WHERE processed='0') z2 ON (z.zipfile=z2.zipfile
                                           AND z.recordtimestamp=z2.recordtimestamp)
            WHERE z.jumlah_rows=CAST(z2.numfiles AS INTEGER)) zf
         JOIN
           (SELECT DISTINCT zipfile,
                            recordtimestamp,
                            numfiles,
                            processed,
                            idpelapor,
                            periodedata,
                            periodelaporan
            FROM ip_rpt.zipfiles
            WHERE processed='0') ds ON (zf.zipfile=ds.zipfile
                                        AND zf.recordtimestamp=ds.recordtimestamp)) tmp
      LEFT JOIN
        (SELECT *
         FROM ip_rpt.delivery_status
         WHERE SEQUENCE_NUMBER='2') ds ON (tmp.idpelapor=ds.idpelapor
                                           AND tmp.periodedata=ds.periodedata
                                           AND tmp.periodelaporan=ds.periodelaporan
                                           AND tmp.versioncode=ds.versioncode
                                           AND tmp.recordtimestamp=ds.recordtimestamp)
      WHERE tmp.processed='0') tmp
   GROUP BY zipfile,
            recordtimestamp) res2 ON (res.zipfile=res2.zipfile
                                      AND res.recordtimestamp=res2.recordtimestamp)
WHERE res.countdata=res2.countdata
ORDER BY res.recordtimestamp ASC
LIMIT 5;

I actually have tried to specify the wildcard by calling out the columns one by ones (i know this sounds so stupid). It actually worked, selected 93 rows, but there is nothing on the result table. Can anyone help me on this?

0

There are 0 answers