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"
展开
 我来答
alex_hy
2010-06-16 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2601
采纳率:100%
帮助的人:961万
展开全部
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LkissYiis
2010-06-16
知道答主
回答量:13
采纳率:0%
帮助的人:6.7万
展开全部
用存储过程或者触发器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式