MikeAuz1979
Programmer
Hi,
I'm using an Access 97 pass through query, connecting to an oracle 8 db and I'm getting the error Invalid column name.
Can anyone take a look at my code and let me know where I'm going wrong? (I have a feeling it's something major rather than a comma out of place.)
Background is that the SITE and ACTIVE_SITE tables have single records but I have to select the most recent records in SUBCONTRACT and MDQ_BOOKING_SUMMARY. (Hence all the complex sub-queries.)
Thanks for any help
Code Start----
SELECT SITE.SITE_NAME, ACTIVE_SITE.SITE_NUMBER, MDQ3.BOOKED_GJ_BASE
FROM CCDR.ACTIVE_SITE ACTIVE_SITE, CCDR.SITE SITE,
(SELECT SUBCONTRACT.SUBCONTRACT_NUMBER, SUBCONTRACT.ACCOUNT_NUMBER
FROM CCDR.SUBCONTRACT SUBCONTRACT,
(SELECT SUBCONTRACT.ACCOUNT_NUMBER, Max(SUBCONTRACT.SUBCONTRACT_EXPIRY_DATE) AS SUBCONTRACT_EXPIRY_DATE
FROM CCDR.SUBCONTRACT SUBCONTRACT
GROUP BY SUBCONTRACT.ACCOUNT_NUMBER
)Sub1
Where Sub1.SUBCONTRACT_EXPIRY_DATE = SUBCONTRACT.SUBCONTRACT_EXPIRY_DATE
AND Sub1.ACCOUNT_NUMBER = SUBCONTRACT.ACCOUNT_NUMBER
)Sub2,
(SELECT MDQ_BOOKING_SUMMARY.BOOKED_GJ_BASE,SITE.SITE_NUMBER
From CCDR.MDQ_BOOKING_SUMMARY MDQ_BOOKING_SUMMARY,CCDR.SUBCONTRACT SUBCONTRACT, CCDR.ACTIVE_SITE ACTIVE_SITE, CCDR.SITE SITE,
(SELECT MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER,Max(MDQ_BOOKING_SUMMARY.BOOKING_START_DATE) AS BOOKING_START_DATE
FROM CCDR.MDQ_BOOKING_SUMMARY MDQ_BOOKING_SUMMARY,
(
SELECT MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER, Max(MDQ_BOOKING_SUMMARY.BOOKING_EFFECTIVE_DATE) AS MaxOfBOOKING_EFFECTIVE_DATE
FROM CCDR.MDQ_BOOKING_SUMMARY MDQ_BOOKING_SUMMARY
GROUP BY MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
)MDQ1
WHERE MDQ1.MaxOfBOOKING_EFFECTIVE_DATE = MDQ_BOOKING_SUMMARY.BOOKING_EFFECTIVE_DATE
AND MDQ1.SUBCONTRACT_NUMBER = MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
GROUP BY MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
)MDQ2,
(
SELECT MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER, Max(MDQ_BOOKING_SUMMARY.BOOKING_EFFECTIVE_DATE) AS MaxOfBOOKING_EFFECTIVE_DATE
FROM CCDR.MDQ_BOOKING_SUMMARY MDQ_BOOKING_SUMMARY
GROUP BY MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
)MDQ1Again
Where MDQ2.BOOKING_START_DATE = MDQ_BOOKING_SUMMARY.BOOKING_START_DATE
AND MDQ2.SUBCONTRACT_NUMBER = MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
AND MDQ1Again.MaxOfBOOKING_EFFECTIVE_DATE = MDQ_BOOKING_SUMMARY.BOOKING_EFFECTIVE_DATE
AND MDQ1Again.SUBCONTRACT_NUMBER = MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
AND MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER = SUBCONTRACT.SUBCONTRACT_NUMBER
AND SUBCONTRACT.ACCOUNT_NUMBER = ACTIVE_SITE.ACCOUNT_NUMBER
AND ACTIVE_SITE.SITE_NUMBER = SITE.SITE_NUMBER
)MDQ3
WHERE ACTIVE_SITE.SITE_NUMBER = SITE.SITE_NUMBER
AND ACTIVE_SITE.ACCOUNT_NUMBER = Sub2.ACCOUNT_NUMBER
AND MDQ3.SUBCONTRACT_NUMBER = Sub2.SUBCONTRACT_NUMBER
AND ACTIVE_SITE.SITE_NUMBER = SITE.SITE_NUMBER
Code End-----
I'm using an Access 97 pass through query, connecting to an oracle 8 db and I'm getting the error Invalid column name.
Can anyone take a look at my code and let me know where I'm going wrong? (I have a feeling it's something major rather than a comma out of place.)
Background is that the SITE and ACTIVE_SITE tables have single records but I have to select the most recent records in SUBCONTRACT and MDQ_BOOKING_SUMMARY. (Hence all the complex sub-queries.)
Thanks for any help
Code Start----
SELECT SITE.SITE_NAME, ACTIVE_SITE.SITE_NUMBER, MDQ3.BOOKED_GJ_BASE
FROM CCDR.ACTIVE_SITE ACTIVE_SITE, CCDR.SITE SITE,
(SELECT SUBCONTRACT.SUBCONTRACT_NUMBER, SUBCONTRACT.ACCOUNT_NUMBER
FROM CCDR.SUBCONTRACT SUBCONTRACT,
(SELECT SUBCONTRACT.ACCOUNT_NUMBER, Max(SUBCONTRACT.SUBCONTRACT_EXPIRY_DATE) AS SUBCONTRACT_EXPIRY_DATE
FROM CCDR.SUBCONTRACT SUBCONTRACT
GROUP BY SUBCONTRACT.ACCOUNT_NUMBER
)Sub1
Where Sub1.SUBCONTRACT_EXPIRY_DATE = SUBCONTRACT.SUBCONTRACT_EXPIRY_DATE
AND Sub1.ACCOUNT_NUMBER = SUBCONTRACT.ACCOUNT_NUMBER
)Sub2,
(SELECT MDQ_BOOKING_SUMMARY.BOOKED_GJ_BASE,SITE.SITE_NUMBER
From CCDR.MDQ_BOOKING_SUMMARY MDQ_BOOKING_SUMMARY,CCDR.SUBCONTRACT SUBCONTRACT, CCDR.ACTIVE_SITE ACTIVE_SITE, CCDR.SITE SITE,
(SELECT MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER,Max(MDQ_BOOKING_SUMMARY.BOOKING_START_DATE) AS BOOKING_START_DATE
FROM CCDR.MDQ_BOOKING_SUMMARY MDQ_BOOKING_SUMMARY,
(
SELECT MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER, Max(MDQ_BOOKING_SUMMARY.BOOKING_EFFECTIVE_DATE) AS MaxOfBOOKING_EFFECTIVE_DATE
FROM CCDR.MDQ_BOOKING_SUMMARY MDQ_BOOKING_SUMMARY
GROUP BY MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
)MDQ1
WHERE MDQ1.MaxOfBOOKING_EFFECTIVE_DATE = MDQ_BOOKING_SUMMARY.BOOKING_EFFECTIVE_DATE
AND MDQ1.SUBCONTRACT_NUMBER = MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
GROUP BY MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
)MDQ2,
(
SELECT MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER, Max(MDQ_BOOKING_SUMMARY.BOOKING_EFFECTIVE_DATE) AS MaxOfBOOKING_EFFECTIVE_DATE
FROM CCDR.MDQ_BOOKING_SUMMARY MDQ_BOOKING_SUMMARY
GROUP BY MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
)MDQ1Again
Where MDQ2.BOOKING_START_DATE = MDQ_BOOKING_SUMMARY.BOOKING_START_DATE
AND MDQ2.SUBCONTRACT_NUMBER = MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
AND MDQ1Again.MaxOfBOOKING_EFFECTIVE_DATE = MDQ_BOOKING_SUMMARY.BOOKING_EFFECTIVE_DATE
AND MDQ1Again.SUBCONTRACT_NUMBER = MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER
AND MDQ_BOOKING_SUMMARY.SUBCONTRACT_NUMBER = SUBCONTRACT.SUBCONTRACT_NUMBER
AND SUBCONTRACT.ACCOUNT_NUMBER = ACTIVE_SITE.ACCOUNT_NUMBER
AND ACTIVE_SITE.SITE_NUMBER = SITE.SITE_NUMBER
)MDQ3
WHERE ACTIVE_SITE.SITE_NUMBER = SITE.SITE_NUMBER
AND ACTIVE_SITE.ACCOUNT_NUMBER = Sub2.ACCOUNT_NUMBER
AND MDQ3.SUBCONTRACT_NUMBER = Sub2.SUBCONTRACT_NUMBER
AND ACTIVE_SITE.SITE_NUMBER = SITE.SITE_NUMBER
Code End-----