这是我收到的一个例子,但经过研究后我仍然陷入困境。他希望我返回电子邮件地址,如果没有电子邮件返回电话号码,如果没有电话号码返回小区(全部一列)。我已加入我的表格,但不确定是否应使用text/html
或setShareIntent()
/ WHERE NOT EXISTS
。
IF
答案 0 :(得分:0)
您可以使用将返回第一个非空值的COALESCE function。
答案 1 :(得分:0)
你可以使用coalesce函数返回第一个非null结果,不知道返回单元格是什么意思,但我认为你有了这个想法
with xx as
(select 'email@mail.com' email, null telephone, null cell
from dual
union all
select null email, '123456' telephone, null cell
from dual
union all
select null email, null telephone, '5' cell
from dual)
select coalesce(email, telephone, cell) first_not_null from xx
答案 2 :(得分:0)
我最终让它像这样工作:
CASE WHEN TRIM(eml.email_address) IS NOT NULL THEN eml.email_address
WHEN TRIM(t.telephone_number) IS NOT NULL THEN 'H: (' || t.area_code || ')' || SUBSTR(t.telephone_number, 1, 3) || '-' || SUBSTR(t.telephone_number, 4, 4)
WHEN TRIM(t2.telephone_number) IS NOT NULL THEN 'C: (' || t2.area_code || ')' || SUBSTR(t2.telephone_number, 1, 3) || '-' || SUBSTR(t2.telephone_number, 4, 4)
ELSE 'No Email/Phone Found'
END AS "EMAIL/PHONE"
答案 3 :(得分:-1)
这就是答案:
SELECT Case When eml.emailaddress is not null then eml.emailaddress
When eml.emailaddress IS NULL
AND t.Phonenumber is NOT NULL THEN t.Phonenumber
Else t.cellNumber
End as ContactInfo
FROM entity e
LEFT OUTER JOIN telephone t ON t.id_number = e.id_number
LEFT OUTER JOIN email eml ON eml.id_number = e.id_number