2011-08-16 3 views
7

ColdFusion Query 객체에서 count() 함수를 사용하려고했습니다.쿼리의 ColdFusion 쿼리에서 count() 함수 사용

<cfset x = querynew("id,name")> 

<cfquery name="y" dbtype="query"> 
    select count(*) as total from x 
</cfquery> 

<cfoutput>Test1: #y.total#</cfoutput> 

<cfset temp = QueryAddRow(x)> 
<cfset Temp = QuerySetCell(x, "id", 1)> 
<cfset Temp = QuerySetCell(x, "Name", "Vikas")> 

<cfquery name="y" dbtype="query"> 
    select count(*) as total from x 
</cfquery> 

<cfoutput>Test2: #y.total#</cfoutput> 

내가 기능을 변환 사용해야 : 여기

내 코드와 테스트입니까? 총계가 [빈 문자열] 인 경우와 마찬가지로 결과는 0이어야합니다. 아니면 다른 최선의 방법이 있습니까?

+0

기본적하지 MATH 기능'count'를하지만 횟수 '와 같은 행의 수를 계산 (*)'SQL 서버 – Vikas

답변

10
그것은 다음과 같이 보인다

그러나 거기 버그 그 주위에 쉬운 길입니다. 간단히 발()에서 y.total 포장, 그래서 읽을 것입니다 : 빈 문자열이 전달 된 경우 0을 반환합니다

<cfoutput>Test1: #val(y.total)#</cfoutput> 
<cfoutput>Test2: #val(y.total)#</cfoutput> 

발을().

+0

필자는'recordCount'를 사용하여 끝내게되었습니다. 그러나 이것은 더 좋아 보인다. – Vikas

2

CF에서 버그를 발견했습니다 (아마도 @http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html에 로그인하십시오).

첫 번째 쿼리는 [nothing]이 아닌 0을 반환해야합니다!

간단한 예제에서는 QoQ를 완전히 없애고 x.recordCount 만 사용하면된다고 생각합니다.

하지만 분명히 QoQ에 WHERE 필터가있는 경우에는별로 좋지 않습니다. 그렇다면 제안한 것과 같이해야 할 일이 있습니다. 나는 여기서 더 나은 접근법을 볼 수 없다. 어도비와 그 버그를 올리면

, 그래서 우리는 투표 할 수 우리가 버그 심판을 알게하기에 ;-)

- 아담

+0

에서 이미 버그가보고 되었습니까? 나는 하나도 찾지 못했다. – Tobias

+0

Heh. 나는 bugbase에서 검색을했고 실제로 2008 년에이 버그에 대한 버그를 제기했습니다. http://cfbugs.adobe.com/cfbugreport/flexbugui/cfbugtracker/main.html#bugId=73559. 정확히 같은 것은 아니지만 같은 문제를 보여줍니다. –

+0

감사합니다. 나는 이제이 문제를 겪은 다른 모든 사람들과 같이 해결 방법으로 일했습니다. btw : 로그인 한 경우에만이 링크가 작동합니까? – Tobias

-1

당신은 그냥 드 쿼리 개체 사용의 행 수 원하는 경우 : #의 x.recordcount 번호

관련 문제