首先是这里的新手和 Oracle 的世界,只是想让一些代码工作:
UPDATE CUSTOMERS
SET RE.LASTNAME = 'NO REFERRAL'
WHERE RE.LASTNAME IS NULL
(SELECT CU.CUSTOMER#, INITCAP(CU.LASTNAME || ', ' || SUBSTR(CU.FIRSTNAME,1,1)) ||'.' AS "CUSTOMER NAME",INITCAP(RE.LASTNAME) AS "REFERRED LAST NAME", INITCAP(RE.FIRSTNAME) AS "REFERRED FIRST NAME"
FROM CUSTOMERS CU LEFT OUTER JOIN CUSTOMERS RE
ON CU.REFERRED = RE.CUSTOMER#);
嵌套块工作正常,它给我列出了所有客户以及推荐他们的人的名字和姓氏,包括没有人推荐他们的客户。我遇到的问题是,对于没有推荐人的人,推荐人的名字和姓氏将显示为 NULL。(因为它应该与左连接),但我不想说 null 而不是在列中说“No Referral”。我也曾将引荐来源列像客户名称一样连接在一起,但无法按照我的意愿进行操作,因此将名称拆分回来。如果有任何一个问题的解决方案,我将不胜感激,因为它让我感到难过。
当遇到空值时,您可以使用 NVL 返回默认字符串:
在你的情况下,我会尝试这样的事情: