У меня возникла проблема, когда я соединяю два набора записей из двух разных источников данных, используя QueryAppend.cfc Бена Наделя. Данные, которые я возвращаю, верны, но порядок данных не ожидается. Объединенный набор результатов сортируется таким образом, что все результаты начинаются со строчной буквы, добавляемой к нижней части набора записей:
Я ожидаю (и нуждаюсь) в следующем типе сортировки:
яблоко
Изобразительное искусство
бутылка
Мальчик
Кот
монета
дротик
Собака
Код следует:
<!---Calling Template--->
<cfquery name="getDataSet1" datasource="datasource1">
SELECT param1
FROM table1
</cfquery>
<cfquery name="getDataset2" datasource="datasource2">
SELECT param1
FROM table2
</cfquery>
<cfscript>
// Create object
TheUnionObject = createObject("component", "cfc/QueryAppend");
// Call the function
myUnionResult = TheUnionObject.QueryAppend(getDataSet1, getDataSet2);
</cfscript>
<!---Dump results--->
<cfdump var="#myUnionResult#">
<!---QueryAppend.cfc--->
<cfcomponent>
<cffunction name="QueryAppend" access="public" returntype="query"
output="false"
hint="This takes two queries and appends the second one to the first one.
Returns the resultant third query.">
<cfargument name="QueryOne" type="query" required="true" />
<cfargument name="QueryTwo" type="query" required="true" />
<cfset var LOCAL = StructNew() />
<cfquery name="LOCAL.NewQuery" dbtype="query">
(
SELECT
*
FROM
ARGUMENTS.QueryOne
)
UNION
(
SELECT
*
FROM
ARGUMENTS.QueryTwo
) ORDER BY Param1 ASC
</cfquery>
<cfreturn LOCAL.NewQuery />
</cffunction>
</cfcomponent>
Я предполагаю, что это поведение сортировки по умолчанию является неким скрытым кодом ColdFusion. Может ли кто-нибудь сказать мне, как изменить это поведение ORDER BY по умолчанию?
ucase
) значение поля, которое вы хотите отсортировать, а затем упорядочить по этому полю, но все же вывести поле без регистра. - person snackboy   schedule 14.12.2018