2013-11-10 3 views
0

Прямо сейчас мой запрос дает мне 0, когда я рассчитываю зарегистрированную дату. Как я могу показать строку «нет» вместо 0.не отображается 'none' вместо 0

что мне здесь не хватает?

COALESCE(TO_CHAR(SUM(ENROLLMENTS)),'none') ENROLLMENTS 

это то, что у меня есть

SELECT lt.STUDENT_ID,lt.FIRST_NAME, lt.LAST_NAME,COALESCE(TO_CHAR(SUM(ENROLLMENTS)),'none') ENROLLMENTS 
FROM STUDENT lt 
LEFT OUTER JOIN 
(SELECT s.STUDENT_ID, z.COURSE_NO,COUNT(e.ENROLL_DATE) AS ENROLLMENTS 
FROM STUDENT s 
LEFT JOIN ENROLLMENT e ON s.STUDENT_ID = e.STUDENT_ID 
LEFT JOIN SECTION z ON e.SECTION_ID = z.SECTION_ID 
WHERE s.PHONE LIKE '702%' 
GROUP BY s.STUDENT_ID, z.COURSE_NO) rt 
ON lt.STUDENT_ID = rt.STUDENT_ID 
WHERE lt.PHONE LIKE '702%' 
GROUP BY lt.STUDENT_ID,lt.FIRST_NAME, lt.LAST_NAME,ENROLLMENTS 
ORDER BY lt.LAST_NAME,lt.FIRST_NAME; 

вместо того, чтобы результаты

STUDENT_ID FIRST_NAME    LAST_NAME     ENROLLED 
---------- ------------------------- ------------------------- ----------- 
     253 Walter     Boremmann      1 
     396 James E.     Norman      0 
etc 

я хотел бы, чтобы он, как этот

STUDENT_ID FIRST_NAME    LAST_NAME     ENROLLED 
---------- ------------------------- ------------------------- ----------- 
     253 Walter     Boremmann      1 
     396 James E.     Norman      none 
etc 

ответ

1

Я думаю, что вам нужно a CASE заявление, посколькувозвращается "0":

(CASE WHEN SUM(ENROLLMENTS)=0 THEN 'none' ELSE SUM(ENROLLMENTS) END) ENROLLMENTS 
+0

спасибо за вашу помощь ... это работало для меня (СЛУЧАЙ КОГДА TO_CHAR (SUM (Учащихся)) = 0 THEN 'ни' ELSE TO_CHAR (SUM (Учащихся)) END) Учащихся – Manual

+0

Пожалуйста. – dnapierata

Смежные вопросы