abrufen Ich habe eine LIST (Abfrageausgabe), die die eindeutigen IDs aus einer Tabelle "Konto" hat. Mit dieser LIST Ich LOOPING über eine SELECT-Abfrage und im Grunde einige COUNT extrahieren. Ich habe Probleme, den COUNT-Wert auf individueller Basis zu erhalten.Konnte die erforderliche Ausgabe nicht mit einer LIST, <cfloop> und <cfquery>
Die Tabelle „Konto“ hat die Felder 1) contract_ID,
2) vAccountID (Primärschlüssel) und 3) status_id (Werte =‘‘, V, C).
ich die folgende Abfrage
<cfquery name="qryGetid" datasource="#datasource#">
SELECT DISTINCT(contract_ID)
FROM Account
ORDER BY contract_ID DESC
</cfquery>
<!--- account details for each --->
<cfset Z =#ValueList(qryGetid.ID)# >
<cfloop list="#Z#" index="Y" >
<cfquery name="qryGetNiceAccounts" datasource="#dataSource#">
SELECT
DISTINCT(a.contract_ID)
,(SELECT count(vAccountID) FROM Account
WHERE c _ID IN (<cfqueryparam value="#x#" list="yes" cfsqltype="cf_sql_integer" separator=",">)
AND Status_id = 'V') AS Valid_AcntV
,(SELECT count(vAccountID) FROM Account
WHERE c _ID IN (<cfqueryparam value="#x#" list="yes" cfsqltype="cf_sql_integer" separator=",">)
AND Status_id = 'C') AS Valid_AcntC
FROM Account a
WHERE
a.contract_ID IN (<cfqueryparam value="#x#" list="yes" cfsqltype="cf_sql_integer" separator="," >)
ORDER BY contract_ID DESC
</cfquery>
Die Abfrage tue = „qryGetNiceAccounts“ kehrt nur ein Wert für „Valid_AcntCount“ sogar für verschiedene „C_Id“ in der Liste.
Beispiel, wenn das „Konto“ Tabelle die Werte hat
contract_ID count(vID)/ v_Accoun t=’v’ count(vID)/ v_Accoun t=’c’
123 10 220
124 05 110
123 01 0
contract_ID count(vID)/ v_Accoun t=’v’ count(vID)/ v_Accoun t=’c’
123 10 220
124 10 220
123 10 220
Grundsätzlich Ich habe Probleme ZÄHLT für einzelne IDs zu bekommen.
Randbemerkung: -Wenn ich einen Dump der Input „contract_ID“ als 123 zeigt, 123 123 statt 123.124.125
Wenn Sie ein tun, was sehen Sie? –
charliegriefer
Randnotiz: Warum schleifen Sie über eine 'ValueList()' aus einer Abfrage, wenn Sie nur die Abfrage selbst durchlaufen können? – Tomalak