ColdFusion - группировка выходных данных из запроса - PullRequest
1 голос
/ 01 февраля 2020

У меня есть отличный вопрос, который, вероятно, прост с головой. У меня есть следующий запрос:

<cfquery name="getempareview" dbtype="query">
  SELECT firstname,lastname,deptname,supcode
  FROM getreviews
  WHERE supcode IN (#preserveSingleQuotes(setsupcode)#)
</cfquery>

Что мне нужно сделать, это вывести так, чтобы в подкоде были другие данные в списке. Итак, если у меня есть 100 строк данных, а для 25 записей одинаковый sup-код, просто укажите следующее:

имя-имени supcode фамилия-deptname (здесь будут перечислены все 25 записей)

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

Вам необходимо использовать вложенные и сгруппированные выходные данные. И добавьте ORDER BY к вашему запросу.

<cfset setsupcode = "1,3,5">

<cfquery name="getempareview" dbtype="query">
  SELECT firstname,lastname,deptname,supcode
  FROM getreviews
  WHERE supcode IN (<cfqueryparam value="#setsupcode#" cfsqltype="numeric" list="yes">)
  ORDER BY supcode, deptname, lastname, firstname
</cfquery>

<cfoutput query="getempareview" group="supcode">
    <h2>#supcode#</h2>
    <cfoutput group="deptname">
        #firstname# #lastname# (#deptname#) <br>
    </cfoutput>
</cfoutput>

https://trycf.com/gist/763ede5485b0978504250f7f5baf9deb/acf11?theme=solarized_dark

Кроме того, поскольку это, очевидно, Query of Query, вы можете лучше организовать свои данные в первоначальном запросе, а не чем возвращаться, чтобы обработать данные.

1 голос
/ 01 февраля 2020

Вложенные выходы. Попробуйте это.

<cfoutput query="YourQueryName" group="SupCode">
<h2>#SupCode#</h2>
<cfoutput>
#FirstName# #LastName# <br/>
</cfoutput>

</cfoutput>
...