sql查询中如果空值,如何查询另外一个表中相关字段
现有表T1,T2,T3每个表都有电话这个字段,电话字段有可能是空值select电话fromt1问题:当T1表的电话为空值的时候,自动查询T2表的电话值,如果T2表电话值也...
现有表T1,T2,T3
每个表都有 电话 这个字段,电话字段有可能是空值
select 电话 from t1
问题:当T1表的电话为空值的时候,自动查询T2表的电话值,如果T2表电话值也为空,则查询T3表电话值
前提:只给出一个电话,在不改动表的情况下(不在表中插入值),主要为了速度
数据库是sysbase,正常查询的语句如下:
select id,姓名,电话 from t1
用了 alex_hy 给出的select isnull ...结果报错。
读取 SQL 语句的结果时出错。
所显示的结果可能不正确或不完整。
子查询不能返回多个行
SQLCODE=-186,ODBC 3 状态="42000" 展开
每个表都有 电话 这个字段,电话字段有可能是空值
select 电话 from t1
问题:当T1表的电话为空值的时候,自动查询T2表的电话值,如果T2表电话值也为空,则查询T3表电话值
前提:只给出一个电话,在不改动表的情况下(不在表中插入值),主要为了速度
数据库是sysbase,正常查询的语句如下:
select id,姓名,电话 from t1
用了 alex_hy 给出的select isnull ...结果报错。
读取 SQL 语句的结果时出错。
所显示的结果可能不正确或不完整。
子查询不能返回多个行
SQLCODE=-186,ODBC 3 状态="42000" 展开
2个回答
展开全部
select isnull(
isnull((select 电话 from t1 where 条件),
(select 电话 from t2 where 条件)),
(select 电话 from t3 where 条件))
是全列出来啊
问题要说清楚
select id,姓名,isnull(
isnull(t1.电话,
(select 电话 from t2 where t2.id=t1.id)),
(select 电话 from t3 where t3.id=t1.id)) 电话
from t1
isnull((select 电话 from t1 where 条件),
(select 电话 from t2 where 条件)),
(select 电话 from t3 where 条件))
是全列出来啊
问题要说清楚
select id,姓名,isnull(
isnull(t1.电话,
(select 电话 from t2 where t2.id=t1.id)),
(select 电话 from t3 where t3.id=t1.id)) 电话
from t1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询