求一个sql查询语句,查询数据库中三张表
假设有三个表如下表1:问题列表id,主键wtlx,varchar表2:受理表id,主键,外键(问题列表的id)chTimedatetime表3:受理结束表id,主键,外键...
假设有三个表如下
表1: 问题列表
id,主键
wtlx ,varchar
表2: 受理表
id,主键,外键(问题列表的id)
chTime datetime
表3 :受理结束表
id,主键,外键(问题列表的id)
jsTime datetime
wjlx ,varchar
其中问题列表 和受理结束表里面的wtlx 和 wjlx 字段是一样的,只是名称不一样
现在问题是这样子的
要取的数据是问题列表.wtlx 或受理结束表.wjlx
其中查询条件是 :
受理表的时间在2014/7/1 到2014/8/1之间并且
受理表.id = 问题列表.id
如果:
受理结束表.id = 受理表.id 并且 受理表.jsTime 在2014/7/1 到2014/8/1之间的话
取受理表.wjlx
上述条件不成立就去取问题列表.wtlx
大侠们求助了,数据是查询出来在c#里面用的,也可以提供一种c#配合查询的方法,小弟愚笨是在是想不出来了 展开
表1: 问题列表
id,主键
wtlx ,varchar
表2: 受理表
id,主键,外键(问题列表的id)
chTime datetime
表3 :受理结束表
id,主键,外键(问题列表的id)
jsTime datetime
wjlx ,varchar
其中问题列表 和受理结束表里面的wtlx 和 wjlx 字段是一样的,只是名称不一样
现在问题是这样子的
要取的数据是问题列表.wtlx 或受理结束表.wjlx
其中查询条件是 :
受理表的时间在2014/7/1 到2014/8/1之间并且
受理表.id = 问题列表.id
如果:
受理结束表.id = 受理表.id 并且 受理表.jsTime 在2014/7/1 到2014/8/1之间的话
取受理表.wjlx
上述条件不成立就去取问题列表.wtlx
大侠们求助了,数据是查询出来在c#里面用的,也可以提供一种c#配合查询的方法,小弟愚笨是在是想不出来了 展开
2个回答
展开全部
select a.wtlx
from 问题列表 a,受理表 b
where a.id=b.id
and convert(varchar(10),b.chtime,120) between '2014-07-01' and '2014-08-01'
union all
select b.wjlx
from 问题列表 a,受理结束表 b
where a.id=b.id
and convert(varchar(10),b.jstime,120) between '2014-07-01' and '2014-08-01'
你看看是不是这个意思
你没说啥数据库,以sqlserver为例写的,其实基本就是日期那个转换的地方需要知道是什么数据库而已,其他地方不用改的
追问
那个 条件中是 上述如果不成立,但是第一个条件
受理表的时间在2014/7/1 到2014/8/1之间并且
受理表.id = 问题列表.id
必须满足,
可能我一开始表述有点问题
54 分钟前
条件中是 上述如果不成立,但是第一个条件
受理表的时间在2014/7/1 到2014/8/1之间并且
受理表.id = 问题列表.id
必须满足,
可能我一开始表述有点问题
展开全部
是什么数据库?
select
case
when 受理结束表.id = 受理表.id and 受理表.jsTime 在2014/7/1 到2014/8/1之间 then 受理表.wjlx
else
问题列表.wtlx
end
from
问题列表 A
left join 受理结束表 B
on A.id=B.id
left join 受理表 C
on A.id=C.id
你改下试试,case when中的表名称改为A,B,C,应该是这个样子了,即便我写的有问题,总体上你这个问题的解决方向也是这样的
select
case
when 受理结束表.id = 受理表.id and 受理表.jsTime 在2014/7/1 到2014/8/1之间 then 受理表.wjlx
else
问题列表.wtlx
end
from
问题列表 A
left join 受理结束表 B
on A.id=B.id
left join 受理表 C
on A.id=C.id
你改下试试,case when中的表名称改为A,B,C,应该是这个样子了,即便我写的有问题,总体上你这个问题的解决方向也是这样的
更多追问追答
追问
那个 条件中是 上述如果不成立,但是第一个条件
受理表的时间在2014/7/1 到2014/8/1之间并且
受理表.id = 问题列表.id
必须满足,
可能我一开始表述有点问题
条件中是 上述如果不成立,但是第一个条件
受理表的时间在2014/7/1 到2014/8/1之间并且
受理表.id = 问题列表.id
必须满足,
可能我一开始表述有点问题
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询