sql - ISNULL 等效于空字段

标签 sql sql-server-2005 coalesce isnull

是否有像 ISNULL() 或 COALESCE() 这样的东西,但不是检查空值而是检查空值。

例如:

  SELECT cu.last_name, cu.first_name, cu.email, hu.email FROM 
 (SELECT DISTINCT c.first_name, c.last_name, c.email, c.household_id, h.head_of_household_id
  FROM rd_customers c
  JOIN rd_households h ON c.household_id = h.household_id
  JOIN ad_registrations r ON r.customer_id = c.customer_id
  JOIN ad_meeting_times a ON  r.session_id = a.session_id and a.meeting_time_id = 203731) cu
  LEFT JOIN rd_customers hu ON hu.customer_id = cu.head_of_household_id

我不想返回四列,而是想得到三列,如果第一列为空,则第三列应该具有 cu.email 或 hu.email 的值! ISNULL 和 COALESCE 在这里不起作用,我不知道为什么

最佳答案

你总是可以使用案例:

select  case when cu.email is null or cu.email = '' then hu.email 
             else cu.email end as ColumnName
from    YourTable

关于sql - ISNULL 等效于空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3720810/

相关文章:

mysql - SQL查询比较一列中的多个数据

sql - 是否有任何查询可以查找包含错误的 SP?

mysql - 使用 "ORDER BY CASE"不使用主索引对结果进行排序

sql - 在两列之间选择最近的日期

sql-server - 需要一个基于集合的解决方案来对行进行分组

r - 根据 R 中的模式合并列

mysql - 局部变量和前面的列

sql-server-2005 - 如何仅对 Reporting Services 报告执行一次自定义代码函数?

php - COALESCE 不同表中的所有字段 JOIN

java - ORA-01465 : invalid hex number or data mismatch error using hibernate jpa and oracle in coalesce