我試圖讓結果'無'每次它給我一個空結果。現在它給了我一個0爲空結果。我怎麼能有一行顯示我'沒有',而不是0爲空結果。SQL錯誤:ORA-00932:不一致的數據類型:預期的CHAR有NUMBER
我試圖TO_CHAR和TO_NUMBER的總和,我不能讓它顯示「無」 ......
CASE WHEN SUM(ENROLLED) = 0 THEN 'none' ELSE SUM(ENROLLED) END AS ENROLLED
所以當嘗試上面我得到SQL錯誤:ORA-00932:不一致數據類型:CHAR有望得到NUMBER
這是我
SELECT lt.STUDENT_ID,lt.FIRST_NAME, lt.LAST_NAME, CASE WHEN SUM(ENROLLED) = 0 THEN 'none' ELSE SUM(ENROLLED) END 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
所以我做了COALESCE(TO_CHAR(SUM(ENROLLED)),'none')ENROLLED這給了我想要的總和,但它不顯示'none'... – Manual
它是什麼顯示? – mrkb80
合併適用於NULL不爲零。這意味着它一直返回SUM(ENROLLED)。 – kristyna