当前位置: 代码迷 >> 报表 >> 请教一个sql的写法
  详细解决方案

请教一个sql的写法

热度:167   发布时间:2016-05-05 08:05:51.0
请问一个sql的写法
有两个表,表一有两列,分别为A(主键)和B,表二有两列,分别为B(主键)和C

对表一的大部分行来说,B列的值都是可以在表二中找到的,但是还是存在一些表二中找不到的。

我想基于表一创建一个视图,A列不变,如果该行B列的值能在表二找到,则使用表二中C列的值,否则,维持表一B列的原值不变。

谢谢。

------解决方案--------------------
[code=SQ]select t1.A,case when b is null then c else b end
from 表一 t1 left join 表二 t2 on t1.B=t2.B[/code]
------解决方案--------------------
贴记录及要求结果出来看看
select a.A,case when b.b is not null then b.c else a.b end from b1 a left join b2 b on a.B=b.B
------解决方案--------------------
SQL code
select t1.A,case when b is null then c else b end from tb1 t1 left join tb2 t2 on t1.B=t2.B
------解决方案--------------------
select t1.A,decode(t1.B,null,t2.C,t1.B)
from 表一 t1 left join 表二 t2 on t1.B=t2.B

基本上 就这样
------解决方案--------------------
T-SQL:
select tb1.a,
case when b is null then c 
else b 
end 
from tb1 t1 left join tb2 t2 on t1.b=t2.b
  相关解决方案