我正在输出查询但需要指定结果的第一行。我正在使用QueryAddRow()添加行并使用QuerySetCell()设置值。 我可以创建行,我可以将内容添加到该行。如果我从QuerySetCell()中删除行号的参数,那么它在输出时作为查询的最后结果都可以正常工作。但是,我需要它作为查询的第一行,但是当我尝试使用QuerySetCell设置row属性时,它只是覆盖我的查询中的第一个返回的行(即我的QueryAddRow()替换了我的查询中的第一个记录)。我目前所拥有的是从recordCount设置变量并安排输出,但必须有一个非常简单的方法来做到这一点,我只是没有得到。 此代码将行值设置为1,但会覆盖查询中第一个返回的行。
<cfquery name="qxLookup" datasource="#application.datasource#">
SELECT xID, xName, execution
FROM table
</cfquery>
<cfset QueryAddRow(qxLookup)/>
<cfset QuerySetCell(qxLookup, "xID","0",1)/>
<cfset QuerySetCell(qxLookup, "xName","Delete",1)/>
<cfset QuerySetCell(qxLookup, "execution", "Select this to delete",1)/>
<cfoutput query="qxLookup">
<tr>
<td>
<a href="##" onclick="javascript:ColdFusion.navigate('xSelect/x.cfm?xNameVar=#url.xNameVar#&xID=#qxLookup.xID#&xName=#URLEncodedFormat(qxLookup.xName)#', '#xNameVar#');ColdFusion.Window.hide('#url.window#')">#qxLookup.xName#</a>
</td>
<td>#qxLookup.execution#</td>
</tr>
</cfoutput>
感谢您的帮助。
答案 0 :(得分:6)
我会在原始查询中添加某种排序顺序列,并使用固定值1
填充它。
<cfquery name="qxLookup" datasource="#application.datasource#">
SELECT xID, xName, execution, 1 as sortorder
FROM table
</cfquery>
将合成行中该列的值设置为值0
。
<cfset QueryAddRow(qxLookup)>
...
<cfset QuerySetCell(qxLookup, "sortorder", "0",1)>
然后使用查询查询按sortorder
列重新排序记录集。
<cfquery name="qxLookup" dbtype="query">
select xid, xname, execution
from qxLookup
order by sortorder
</cfquery>
答案 1 :(得分:1)
我以前处理过这个问题,对我来说,答案是要有两个单独的查询。
第1,作为您的正常查询,第2个是查询查询,然后对它们进行联合,qofq高于正常查询,这应该按照您想要的顺序给出结果。
这样的事情:
<cfquery name="table_a_results" datasource="">
select a, b, c
from table_a
</cfquery>
cfset table_b = querynew("a, b, c")
cfset temp = queryaddrow("table_b")
cfset temp = querysetcell(table_b,10)
cfset temp = querysetcell(table_b,20)
cfset temp = querysetcell(table_b,30)
<cfquery name="final_query" dbtype="query">
select a, b, c
from table_b
union
select a, b, c
from table_a_results
</cfquery>
然后使用此工具,您可以按照您喜欢的任何顺序放置查询,但请记住按标记使用顺序,以更改顺序......
答案 2 :(得分:0)
只是上面的替代方案,但是您可以将ColdFusion从图片中删除,并仅使用类似的东西(例如在oracle中)执行此操作
从双重中选择'myinsertedvalue' 联盟 从mutable中选择myrealvalues
您可以与Kens排序列结合使用以获得完整订购。假设您从DB获取主要查询!