我无法弄清楚如何用'none'替换0。我在这里做错了什么?
SELECT s.student_id, s.first_name, s.last_name, NVL(TO_CHAR(COUNT(e.student_id)), 'none') AS enrollments
FROM student s
LEFT OUTER JOIN enrollment e
ON s.student_id = e.student_id
WHERE s.phone LIKE '%617%'
GROUP BY s.student_id, s.first_name, s.last_name
ORDER BY s.last_name, s.first_name;
答案 0 :(得分:1)
将该单一陈述改为:
DECODE(COUNT(e.student_id), 0, 'none', COUNT(e.student_id)) AS enrollments
它的作用是先检查计数;如果没有适用的值,COUNT将返回0.然后,它将解码为您的字符串。如果有记录,它将返回COUNT函数。