2012-03-12 2 views
0

퀴즈 엔진 인 인트라넷 웹 응용 프로그램을 개발 중입니다. 이제, 송신하지 않은 퀴즈 총 수인 &을 보여주는 쿼리를 작성해야합니다.송신 및 송신하지 않은 퀴즈의 총 수를 표시하는 방법은 무엇입니까?

SELECT COUNT(QuizID) AS [Total Number of Sending Quizzes] 
    FROM dbo.Quiz 
WHERE (IsSent=1) 

그래서 어떻게 비 전송 퀴즈의 총 수를 얻기 위해 수정해야한다 : 나는 지금 그것을 사용하고 현재 쿼리는 퀴즈를 전송의 수를 보여주고있다?

귀하의 정보를 위해, 나는 QuizID, Title, Description, IsSent로 구성된 Quiz Table이라는 테이블을 가지고 있습니다.

IsSent는 퀴즈가 보내 졌는지 여부를 확인하기 위해 True (1) 또는 False (0)를 취하는 플래그/부울입니다.

편집 : 나는 두 개의 열 싶어

: 하나의 전송의 호출 총 수 및 전송하지의 총 수와 두 번째 열을. 이 칼럼을 얻는 방법?

답변

1

가 null이 IsSent 열 마찬가지입니다 수 있도록 할 수 있습니다, 그래서 당신은이

SELECT 
     CASE WHEN Isnull(IsSent,0) = 0 THEN 'Total not Sent' 
     ELSE 'Total Sent' 
     END 'Quiz Status' 
     ,COUNT(QuizID) 'Count' 
FROM dbo.Quiz 
GROUP BY isnull(issent,0) 
을 처리해야

댓글에서 편집 :

SELECT ( SELECT count(SeqID) 
      FROM quiz 
      WHERE issent = 1) AS 'Total Number of not Sent' 

     , (SELECT count(SeqID) 
      FROM quiz 
      WHERE isnull(issent,0) = 0) AS 'Total Number of Sent' 
+0

감사합니다. 도와 주셔서 정말 고맙습니다. –

+0

그러나 C# 코드에서는이 두 가지를 모두 참조해야하므로 어떻게 사용할 수 있습니까? Total Sent 및 Total not Sent? 그것들을 두 개의 기둥으로 가져갈 수 있습니까? –

+0

내 편집 된 질문을 보시겠습니까? –

0
SELECT COUNT(QuizID) AS [Total Number of Sending Quizzes] 
    FROM dbo.Quiz 
GROUP BY IsSent 
0

그룹화 할 수 있습니다 다음과 같은 IsSent 열의 값을 기준으로 결과 :

SELECT COUNT(QuizID), 
     CASE WHEN IsSent = 1 THEN [Total Number of Sending Quizzes] 
     ELSE [Total Number of Non-Sending Quizzes] 
     END [status] 
FROM dbo.Quiz 
GROUP BY IsSent 
+0

내 편집 된 질문을 참조 할 수 있습니까? –

관련 문제