我有一个存储过程,它返回一堆查询,我需要根据两列或多列中的信息选择一些查询。我之前使用过cfloop query ="resultName"
,但这次我不能简单地遍历它。这甚至可能吗?
代码:
<!--- Run procedure to generate result set/query --->
<cfstoredproc datasource="#XXX#" procedure="XXX">
<cfprocparam type="In" value="12" cfsqltype="CF_SQL_INTEGER">
<cfprocparam type="In" value="3" cfsqltype="CF_SQL_INTEGER">
<cfprocparam type="In" value="1" cfsqltype="CF_SQL_BIT">
<cfprocresult name="QueryU">
</cfstoredproc>
QueryU
由一堆查询组成,我希望根据其他两个列值选择一个列值。
更新:
问题是,“如何从现有查询中选择记录子集?”
答案 0 :(得分:2)
根据the Adobe documentation,您需要为要发回的每个结果集列出cfprocresult
。
<cfprocresult name="query1">
<cfprocresult name="query2">
<cfprocresult name="query3">
然后,您可以在输出每个查询时引用所需的字段。
答案 1 :(得分:0)
解决方案是使用查询查询。
以下是基于the documentation的示例:
<!--- Run procedure to generate result set/query --->
<cfstoredproc datasource="#XXX#" procedure="XXX">
<cfprocparam type="In" value="12" cfsqltype="CF_SQL_INTEGER">
<cfprocparam type="In" value="3" cfsqltype="CF_SQL_INTEGER">
<cfprocparam type="In" value="1" cfsqltype="CF_SQL_BIT">
<cfprocresult name="QueryU">
</cfstoredproc>
<!--- Run QoQ to get a subset of the results (dbtype=query, no data source) --->
<cfquery dbtype="query" name="detail">
SELECT Emp_ID, FirstName, LastName
FROM QueryU
WHERE LastName =<cfqueryparam value="#LastNameSearch#"
cfsqltype="cf_sql_char" maxLength="20">
</cfquery>