sql select语句怎么写
存在三个表主表wxtzd子表ng和另一个表jsgdjhjsgdjh和ng通过sch连接,查询的时候先查询wxtzd中是否存在这个sch如果不存在的话就查询ng中的sch,...
存在三个表 主表 wxtzd 子表 ng 和另一个表 jsgdjh jsgdjh和ng通过sch连接,查询的时候 先查询wxtzd中是否存在这个sch 如果不存在的话就查询ng中的sch , 条件aa bb cc三字段。用sql语句怎么写
展开
展开全部
你这个sch是字段名还是字段的值?
你所说的先查询wxtzd中是否存在这个sch
是wxtzd里面有字段sch,还是wxtzd里面的sch字段等于某个值?
aa bb cc三个字段分别是那个表的?
我似乎有点明白
select A.*,B.*,C.*,
--下面是实现先查询wxtzd中是否存在这个sch,如果不存在的话就查询ng中的sch
case when isnull(A.sch,'')='' then B.sch else A.sch end as cSCH
--不知道你要的是不是这个效果。意思是如果wxtzd 中的sch有值,就取wxtzd 的sch字段的值,
--如果没有值,就去ng中的sch
from wxtzd A right outer join ng B on A.ID=B.ID left outer join jsgdjh C on B.sch=C.sch
where .....
你所说的先查询wxtzd中是否存在这个sch
是wxtzd里面有字段sch,还是wxtzd里面的sch字段等于某个值?
aa bb cc三个字段分别是那个表的?
我似乎有点明白
select A.*,B.*,C.*,
--下面是实现先查询wxtzd中是否存在这个sch,如果不存在的话就查询ng中的sch
case when isnull(A.sch,'')='' then B.sch else A.sch end as cSCH
--不知道你要的是不是这个效果。意思是如果wxtzd 中的sch有值,就取wxtzd 的sch字段的值,
--如果没有值,就去ng中的sch
from wxtzd A right outer join ng B on A.ID=B.ID left outer join jsgdjh C on B.sch=C.sch
where .....
追问
sch是字段名,aa,bb,cc是三个表都有的字段,就是jsgdjh和wxtzd,ng的连接 先判断wxtzd中有没有和jsgdjh相同的sch 有的话就取wxtzd中的 aa,bb,cc 不然就取ng中的aa,bb,cc。
追答
select A.*,B.*,C.*,
case when Asch=B.sch then A.aa else B.aa end as AA,
case when Asch=B.sch then A.bb else B.bb end as bb,
case when Asch=B.sch then A.cc else B.cc end as AA,
from wxtzd A right outer join ng B on A.ID=B.ID left outer join jsgdjh C on B.sch=C.sch
where .....
兄弟,你表达能力太弱了。
展开全部
大概是这样操作的:
假设@sch是要判断的值
---判断主表wxtzd的sch是否等于@sch
if exists (select 1 from wxtzd sch = @sch)
begin
---需要执行的步骤
end
else
begin
---执行步骤
end
假设@sch是要判断的值
---判断主表wxtzd的sch是否等于@sch
if exists (select 1 from wxtzd sch = @sch)
begin
---需要执行的步骤
end
else
begin
---执行步骤
end
追问
if exists('select zsch from qtxyxb..wxtzd where sch = (select sch from jsgdjh wher gzkbh='''+gzkbh_edit.text+''')')>0 then 这句话有错误么 感觉好像有问题 就是不知道错在哪
追答
if exists('select zsch from qtxyxb..wxtzd where sch = (select sch from jsgdjh wher gzkbh='''+gzkbh_edit.text+''')')if exists 是判断真和假的,不是大于0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select aa,bb,cc from wxtzd x
where exists(select 1 from jsgdjh where sch=x.sch)
union
select aa,bb,cc from ng y
where exists(select 1 from jsgdjh where sch=y.sch)
where exists(select 1 from jsgdjh where sch=x.sch)
union
select aa,bb,cc from ng y
where exists(select 1 from jsgdjh where sch=y.sch)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询