我想有一个结果“无”每次它给了我一个空结果的时间,而不是0“无”。现在它给了我一个0为空结果。我怎么能有一行显示我'没有',而不是0为空结果。有怎样的行显示我空结果
我已经试过NVL(SUM(就读), '无')AS登记并不起作用
SELECT DISTINCT lt.STUDENT_ID,lt.FIRST_NAME, lt.LAST_NAME, NVL(SUM(ENROLLED),'none') AS ENROLLED
FROM STUDENT lt
LEFT OUTER JOIN
(SELECT s.STUDENT_ID, e.ENROLL_DATE,COUNT(z.COURSE_NO) AS ENROLLED
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, e.ENROLL_DATE) 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;
现在我得到
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
这通常是你会在你的表示层处理,即显示数据的应用程序。尽管你可以尝试'CAST'到一个varchar类型。 – CompuChip
尝试'IF(SUM(就读)= 0, '无',SUM(就读))作为enrolled'代替 – user2577405
我没有看到你的榜样任何空值:/ –