2013-08-22 1 views
1

일부 레코드가 포함 된 쿼리 개체 (SQL)가 있습니다. 일부 레코드에는 중복 값이 ​​들어 있습니다. :((내 SQL 쿼리에 DISTINCT 사용할 수 없습니다, 그래서 어떻게 내 개체에서 제거?)ColdFusion : 중복 값이있는 객체 (중복 제거)

범주 [1] .ID = 1 개
범주 [2] .ID = 1 개
카테고리 [3 ] .ID = 2 개
카테고리 [4] .ID = 3 개
카테고리 [5] .ID는

3 가능한 2-

이제 1 목록 2를 얻으려면,가요 = ?

+1

왜 DISTINCT를 사용할 수 없습니까? 중복 된 위치에 따라 SQL 조인을 수정해야 할 수도 있지만 SQL이 어떻게 보이는지는 알 수 없습니다. –

+0

내 SQL-Query가 아니기 때문에 프레임 워크 외부의 모듈에서 가져온 것입니다. :/ – Froschkoenig84

+0

Adam은 쿼리를 수행하는 한 가지 방법을 보여주었습니다. 상황에 따라 목록 기능을 사용하는 것이 더 나을 수도 있습니다. cflib.org에는 트릭을 수행하는 ListDistinct()가 있습니다. –

답변

6

귀하가 제공 한 자격을 부여받은 경우에도 DISTINCT을 사용할 수 없다고 말하는 이유가 확실하지 않습니다. 이 문제 쿼리에서 온 있었다하지 않습니다 (<cfquery>, <cfldap>, <cfdirectory>, 손으로 내장) 당신은 확실히 그것에 DISTINCT을 사용할 수 있도록 그것은 당신의 CFML 코드에 노출 년대 시간, 그것은 단지 "쿼리"입니다 :

<cfquery name="distinctCategories" dbtype="query"> 
    SELECT DISTINCT id 
    FROM categories 
</cfquery> 
+4

명확해야 - 위의 코드는 쿼리를 얻기 위해 필요한 모든 호출을 수행 한 후에 실행해야합니다. 따라서 "categories"라는 쿼리가 있고 쿼리를 사용하여 쿼리를 필요한 데이터 집합으로 필터링 할 수 있습니다. –

+0

죄송합니다, 명확한 표 주셔서 감사합니다. –

+0

NP - 일부 사람들은 Q 개념의 Q에 익숙하지 않습니다. 제가 좋아하는 CF에 대한 멋진 독특한 기능입니다. –