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?