0

次のようなクエリと出力が与えられた場合、不思議に思います。

<cfoutput query="someItems" group="someColumnName">

     ... doing some stuff here ..

    <cfoutput> doing stuff with some sub items </cfoutput>


</cfoutput>

「内部」の要素の順序を変更する方法がある場合はcfoutput? クエリをグループ化および並べ替えの両方に使用できますか?

4

2 に答える 2

4

ORDER BYこれを機能させるには、クエリに句を追加する必要がありますが、属性cfoutputを使用するタグをネストできます。group

<cfoutput query="someItems" group="someColumnName">

     ... doing some stuff here ..

    <cfoutput group="someOtherColumnName> doing stuff with some sub items </cfoutput>


</cfoutput>

これは、クエリに次のようなものが含まれていることを前提としています。

ORDER BY someColumnName, someOtherColumnName

group属性は、SQL ステートメントcfqueryの句と同じではないことに注意してください。クエリの句にある任意の列に属性をGROUP BY使用できます。groupcfoutputORDER BY

于 2013-11-06T16:42:38.123 に答える
1

1 つの解決策は、クエリのクエリ アプローチを使用するようにコードを再構築することです。これを行う良い例を次に示します。

http://www.bennadel.com/blog/2211-ColdFusion-Query-Of-Queries-vs-The-Group-Attribute-In-CFOutput.htm

基本的に、関心のあるすべてのデータを 1 つのマスター クエリ (おそらく既に作成したクエリ) で引き出します。最上位ループで必要なデータのグループ化と集計を行う 2 番目のクエリ (データベースに対してではなく、最初のクエリに対して) を追加します。2 番目のクエリによって駆動されるループ内で、グループ内の行データをさらに別のクエリ (データベースに対してではなく、最初のクエリに対して) のパラメーターとして使用して、現在の行に関連するすべてのデータを引き出します。欲望。

クエリをクエリするというこのアイデアは、最初は奇妙に思えますが、パフォーマンスの問題は発生しておらず、内側のループで必要なことを柔軟に行うことができます。幸運を!

于 2013-11-06T16:35:52.310 に答える