一个SQL语句,但是不知道该怎么写 是这样子的,我建立一个视图,从表A中取一些字段,并且新加一列,这一列的值是这么判断的:如果表B中存在与表A相关联的记录,则为空,如果不存在,则取这些记录里面某字段最大的一个。不知道这样说大家明白不明白。大意是这样的: if exists(select * from B where B.ziduan=A.ziduan ) select null as 新增字段 else select max(某字段) from B where B.ziduan=A.ziduan as 新增字段
------解决方案-------------------- if exists(select * from B where B.ziduan=A.ziduan ) select null as 新增字段 else select max(某字段) from B where B.ziduan=A.ziduan as 新增字段
你这个语句有错误呀
如果select * from B where B.ziduan=A.ziduan 这行是不存在的, 还能取出它的字段吗?????
------解决方案--------------------
SQL code
--猜一个
select *,case when ziduanB is null then (select max(ziduanB) from B) else null end 新增字段
from
(
select * from A left join B on A.ziduanA=B.ziduanB
) t
------解决方案--------------------
SQL code
select *,case when colB is null then (select max(colB) from B) else null end as 新增字段
from(select * from A left join B on A.colA=B.colB) t
------解决方案--------------------