I'm using MX7 with Oracle 9i. I don't use loops very often and am
having trouble with this one. The problem is I can't seem to get
all the contracts inserted. I either get only the first contract
inserted or I get repeating contracts. Total records in getPROJECTS
is 617. Records in getCONTRACTS will vary per getPROJECTS record,
some getPROJECTS will have 2 contracts, some 5 and so on.
The inserted records should look something like this:
getPROJECTS.project1 getCONTRACTS.contract1
getPROJECTS.project1 getCONTRACTS.contract2
getPROJECTS.project1 getCONTRACTS.contract3
getPROJECTS.project2 getCONTRACTS.contract1
getPROJECTS.project3 getCONTRACTS.contract1
getPROJECTS.project3 getCONTRACTS.contract2
getPROJECTS.project4 getCONTRACTS.contract1
getPROJECTS.project4 getCONTRACTS.contract2
getPROJECTS.project4 getCONTRACTS.contract3
getPROJECTS.project4 getCONTRACTS.contract4
Here are my partial queries:
<cfquery datasource="#Application.rdsn#" name="getPROJECTS">
SELECT
a.subproject_name,
a.subproject_id,
a.current_phase,
b.description,
c.fullname,
a.subproject_design_consultant,
a.subproject_contractor
FROM
cip.subprojects a,
cip.list_project_types b,
cip.list_employees c
WHERE
a.PROJECT_TYPE(+) =
b.PROJECT_TYPE
AND a.EMPLOYEE_ID = c.EMPLOYEE_ID
AND a.SUBPROJECT_CLOSED = 'N'
AND a.DEPT_CD = '#variables.DEPTCD#'
</cfquery>
<cfloop query="getPROJECTS">
<cfquery datasource="#Application.rdsn#" name="getCONTRACTS">
SELECT DISTINCT
qTotal.AFS3_contract_type,
qTotal.AFS3_contract_no,
qTotal.AFS2_contract_type,
qTotal.AFS2_contract_no,
qTotal.solicitation_no,
qTotal.extended_cost,
qTotal.award_date,
qTotal.Closed_Date,
qTotal.vend10,
qTotal.vendor_name1,
qFAOs.Subproject_id,
qSOL.EST_CONTRACT_DUR,
qSOL.SOLICITATION_ID,
qSOL.RCA_AMOUNT
FROM
(
SELECT DISTINCT
cip.contract_headers_afs3.AFS3_Contract_Type,
cip.contract_headers_afs3.AFS3_Contract_No,
cip.CONTRACT_HEADERS_AFS2.CONTRACT_TYPE AS AFS2_Contract_Type,
cip.CONTRACT_HEADERS_AFS2.CONTRACT_NO AS AFS2_Contract_No......
</CFQUERY>
</cfloop>
<cfset v_subproject_name = getPROJECTS.subproject_name>
<cfset v_subproject_id = getPROJECTS.subproject_id>
<cfset v_current_phase = getPROJECTS.current_phase>
<cfset v_projtype = getPROJECTS.description>
<cfset v_fullname = getPROJECTS.fullname>
<cfset v_consultant = getPROJECTS.subproject_design_consultant>
<cfset v_afs3contract_type = getCONTRACTS.AFS3_contract_type>
<cfset v_afs3contract_no = getCONTRACTS.AFS3_contract_no
<cfset v_afs2contract_type = getCONTRACTS.AFS2_contract_type>
<cfset v_afs2contract_no = getCONTRACTS.AFS2_contract_no>
<cfquery datasource="#Application.rdsn#" name="InsertData">
INSERT INTO newtable
(
subproject_name,
subproject_id,
current_phase,
project_type
)
VALUES
(
'#v_subproject_name#',
#v_subproject_id#,
'#v_current_phase#',
'#v_projtype#'
)
</cfquery>
</cfloop>
Thanks for the help.
having trouble with this one. The problem is I can't seem to get
all the contracts inserted. I either get only the first contract
inserted or I get repeating contracts. Total records in getPROJECTS
is 617. Records in getCONTRACTS will vary per getPROJECTS record,
some getPROJECTS will have 2 contracts, some 5 and so on.
The inserted records should look something like this:
getPROJECTS.project1 getCONTRACTS.contract1
getPROJECTS.project1 getCONTRACTS.contract2
getPROJECTS.project1 getCONTRACTS.contract3
getPROJECTS.project2 getCONTRACTS.contract1
getPROJECTS.project3 getCONTRACTS.contract1
getPROJECTS.project3 getCONTRACTS.contract2
getPROJECTS.project4 getCONTRACTS.contract1
getPROJECTS.project4 getCONTRACTS.contract2
getPROJECTS.project4 getCONTRACTS.contract3
getPROJECTS.project4 getCONTRACTS.contract4
Here are my partial queries:
<cfquery datasource="#Application.rdsn#" name="getPROJECTS">
SELECT
a.subproject_name,
a.subproject_id,
a.current_phase,
b.description,
c.fullname,
a.subproject_design_consultant,
a.subproject_contractor
FROM
cip.subprojects a,
cip.list_project_types b,
cip.list_employees c
WHERE
a.PROJECT_TYPE(+) =
b.PROJECT_TYPE
AND a.EMPLOYEE_ID = c.EMPLOYEE_ID
AND a.SUBPROJECT_CLOSED = 'N'
AND a.DEPT_CD = '#variables.DEPTCD#'
</cfquery>
<cfloop query="getPROJECTS">
<cfquery datasource="#Application.rdsn#" name="getCONTRACTS">
SELECT DISTINCT
qTotal.AFS3_contract_type,
qTotal.AFS3_contract_no,
qTotal.AFS2_contract_type,
qTotal.AFS2_contract_no,
qTotal.solicitation_no,
qTotal.extended_cost,
qTotal.award_date,
qTotal.Closed_Date,
qTotal.vend10,
qTotal.vendor_name1,
qFAOs.Subproject_id,
qSOL.EST_CONTRACT_DUR,
qSOL.SOLICITATION_ID,
qSOL.RCA_AMOUNT
FROM
(
SELECT DISTINCT
cip.contract_headers_afs3.AFS3_Contract_Type,
cip.contract_headers_afs3.AFS3_Contract_No,
cip.CONTRACT_HEADERS_AFS2.CONTRACT_TYPE AS AFS2_Contract_Type,
cip.CONTRACT_HEADERS_AFS2.CONTRACT_NO AS AFS2_Contract_No......
</CFQUERY>
</cfloop>
<cfset v_subproject_name = getPROJECTS.subproject_name>
<cfset v_subproject_id = getPROJECTS.subproject_id>
<cfset v_current_phase = getPROJECTS.current_phase>
<cfset v_projtype = getPROJECTS.description>
<cfset v_fullname = getPROJECTS.fullname>
<cfset v_consultant = getPROJECTS.subproject_design_consultant>
<cfset v_afs3contract_type = getCONTRACTS.AFS3_contract_type>
<cfset v_afs3contract_no = getCONTRACTS.AFS3_contract_no
<cfset v_afs2contract_type = getCONTRACTS.AFS2_contract_type>
<cfset v_afs2contract_no = getCONTRACTS.AFS2_contract_no>
<cfquery datasource="#Application.rdsn#" name="InsertData">
INSERT INTO newtable
(
subproject_name,
subproject_id,
current_phase,
project_type
)
VALUES
(
'#v_subproject_name#',
#v_subproject_id#,
'#v_current_phase#',
'#v_projtype#'
)
</cfquery>
</cfloop>
Thanks for the help.