CFLib.org – Common Function Library Project

UniqueValueList(queryname, columnname [, cs])

Last updated March 27, 2007
Download UDF

author

Nick Giovanni                                     Nick Giovanni

Version: 1 | Requires: ColdFusion 5 | Library: DataManipulationLib

 
Rated 5 time(s). Average Rating: 5.0

Description:
Returns a list of unique values from a query column with the option of case sensitive or not.

Return Values:
Returns a string.

Example:

--Not Case sensitive
#uniqueValueList(queryName, "queryColumn")#

-- Case Sensitive
#uniqueValueList(queryName, "queryColumn", 1)#

Parameters:

Name Description Required
queryname Query to scan. Yes
columnname Column to use. Yes
cs If true, the unique list will check the case of the values. Defaults to false. No

Full UDF Source:

<cfscript>
/**
* Returns a list of unique values from a query column.
*
* @param queryname      Query to scan. (Required)
* @param columnname      Column to use. (Required)
* @param cs      If true, the unique list will check the case of the values. Defaults to false. (Optional)
* @return Returns a string.
* @author Nick Giovanni (ngiovanni@gmail.com)
* @version 1, March 27, 2007
*/

function uniqueValueList(queryName, columnName) {
    var cs = 0;
    var curRow = 1;
    var uniqueList = "";
    
    if(arrayLen(arguments) GTE 3 AND isBoolean(arguments[3])) cs = arguments[3];
    
    for(; curRow LTE queryName.recordCount; curRow = curRow +1){
        if((not cs AND not listFindNoCase(uniqueList, trim(queryName[columnName][curRow]))) OR (cs AND not listFind(uniqueList, trim(queryName[columnName][curRow])))){
            uniqueList = ListAppend(uniqueList, trim(queryName[columnName][curRow]));
        }
    }
    return uniqueList;
}
</cfscript>

Search CFLib.org


Latest Additions

Ryan Thompson-Jewell Ryan Thompson-Jewell added
ListSplit
3 day(s) ago

Nathan Dintenfass Nathan Dintenfass added
RowsToColumns
3 day(s) ago

Barney Boisvert Barney Boisvert added
indentXml
4 day(s) ago

Barney Boisvert Barney Boisvert added
REReplaceCallbac...
4 day(s) ago

Top Rated

Rob Brooks-Bilson                                 FolderSize
Rated 5.0, 7 time(s)

Nick Giovanni                                     UniqueValueList
Rated 5.0, 5 time(s)

James Sleeman                                     QuickSort
Rated 5.0, 3 time(s)

Jeff Howden ListDeleteDuplic...
Rated 5.0, 3 time(s)

Created by Raymond Camden / Design by Justin Johnson