|
All:
Never mind...If all else fails, read the manual...
I just needed to drop the "order by" clauses in my temporary tables. Thanks
anyway,
--Bruce Guetzkow
All:
I'm getting an error message with an SQL statement and I'm hoping that
someone can spot my mistake. This will be a QMQRY that will write out to an
*OUTFILE.
The error message that I'm getting is "Column PFDDAT or expression in SELECT
list not valid." You'll find this field as part of the 2nd temporary table
being generated.
PFDDAT is a valid field (8/0 zoned) in file PAYDIST. I'm sure I've got a
typo somewhere or put some keyword out of order, but I'm not seeing it.
After 4 hours of looking, it's time to bring in the Marines. Any help that
anyone can offer is appreciated. Although this isn't an RPG question, I've
seen other SQL questions here, so I'm hoping this post is appropriate. If
not, please feel free to redirect me (David?).
Thanks in advance,
--Bruce Guetzkow
Here's the SQL statement:
with
tmp01 (client
, listyr
, lstamt
) as (
select
dbclnt
, substr(digits(dbddat),1,4)
, sum(dbbbal)
from debtmast
where dbclnt in (63554)
group by dbclnt
, substr(digits(dbddat),1,4)
order by dbclnt
, substr(digits(dbddat),1,4)
),
tmp02 (client
, listyr
, colamt
, comamt
) as (
select
pfclnt
, substr(digits(pfddat),1,4)
, sum(pfdamt)
, sum(pfcomm)
from paydist
where pfclnt in (63554)
and pfaply in (1, 2, 3)
group by pfclnt
, substr(digits(pfddat),1,4)
order by pfclnt
, substr(digits(pfddat),1,4)
),
tmp03 (client
, listyr
, cnlamt
) as (
select
dbclnt
, substr(digits(dbddat),1,4)
, sum(dbcbal + dbintr + dbfees)
from debtmast
join debtstat
on (dbcomp = dtcomp
and dbdsta = dtdsta
and dtcncl = 'Y')
where dbclnt in (63554)
and dbdsta <> '019'
group by dbclnt
, substr(digits(dbddat),1,4)
order by dbclnt
, substr(digits(dbddat),1,4)
),
tmp04 (client
, listyr
, adjamt
) as (
select
ajclnt
, substr(digits(ajddat),1,4)
, sum(ajdamt)
from adjdist
where ajclnt in (63554)
and ajaply in (1, 2, 3)
group by ajclnt
, substr(digits(ajddat),1,4)
order by ajclnt
, substr(digits(ajddat),1,4)
)
select
a.client
, a.listyr
, a.lstamt
, d.adjamt
, c.cnlamt
, b.colamt
, b.comamt
, b.colamt - b.comamt
as netback
, ((b.colamt - b.comamt) / (a.lstamt + d.adjamt)) * 100
as nbpct
, (b.colamt / (a.lstamt + d.adjamt)) * 100
as rcvpct
, (b.comamt / b.colamt) * 100
as compct
from tmp01 a
left join tmp02 b
on (a.client = b.client
and a.listyr = b.listyr)
left join tmp03 c
on (a.client = c.client
and a.listyr = c.listyr)
left join tmp04 d
on (a.client = d.client
and a.listyr = d.listyr)
order by a.client
, a.listyr
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.