SQL 多个表关联查询!和删除!
比如:要查询表一以“时间”为查询字段,查询一个时间范围内的结果,而且在表二以“状态”为查询字段,查询满足表一的时间范围之内,而且状态等于“0”的结果就显示出来。然后再删除...
比如:
要查询表一以“时间”为查询字段,查询一个时间范围内的结果,而且在表二以“状态”为查询字段,查询满足表一的时间范围之内,而且状态等于“0”的结果就显示出来。然后再删除。请高手教教。没有积分了,还是请帮忙。
表一的查询语句,(是SQL自动生成的我只知道这样搞)
SELECT *, 时间 AS Expr1
FROM yyksmx
WHERE (时间 > CONVERT(DATETIME, '2010-01-01 00:00:00', 102)) AND
(时间 < CONVERT(DATETIME, '2010-01-11 00:00:00', 102))
表二的查询语句:
SELECT *, 状态 AS Expr1
FROM yybrryjy
WHERE (状态 = '0')
结果就是要求,同时满足的情况下,就删除。表一,yyksmx中时间范围之内的数据。麻烦了。请高手指教一下。 展开
要查询表一以“时间”为查询字段,查询一个时间范围内的结果,而且在表二以“状态”为查询字段,查询满足表一的时间范围之内,而且状态等于“0”的结果就显示出来。然后再删除。请高手教教。没有积分了,还是请帮忙。
表一的查询语句,(是SQL自动生成的我只知道这样搞)
SELECT *, 时间 AS Expr1
FROM yyksmx
WHERE (时间 > CONVERT(DATETIME, '2010-01-01 00:00:00', 102)) AND
(时间 < CONVERT(DATETIME, '2010-01-11 00:00:00', 102))
表二的查询语句:
SELECT *, 状态 AS Expr1
FROM yybrryjy
WHERE (状态 = '0')
结果就是要求,同时满足的情况下,就删除。表一,yyksmx中时间范围之内的数据。麻烦了。请高手指教一下。 展开
展开全部
SELECT yyksmx.*, 时间 AS Expr1
FROM yyksmx
inner join yybrryjy
on yybrryjy.住院序号=yyksmx .住院序号
WHERE (时间 > CONVERT(DATETIME, '2010-01-01 00:00:00', 102)) AND
(时间 < CONVERT(DATETIME, '2010-01-11 00:00:00', 102))
and yybrryjy.状态=0
你要删除哪个表,两个表都删除吗?
FROM yyksmx
inner join yybrryjy
on yybrryjy.住院序号=yyksmx .住院序号
WHERE (时间 > CONVERT(DATETIME, '2010-01-01 00:00:00', 102)) AND
(时间 < CONVERT(DATETIME, '2010-01-11 00:00:00', 102))
and yybrryjy.状态=0
你要删除哪个表,两个表都删除吗?
追问
当两个条件同时满足时,删除yyksmx表时间段的内容
追答
你要删除yyksmx表时间段的内容?
这个时间段是一个列吗?
如果是的话,你要把这一列变为空的?
还是删除一行?
如果把时间短这一列变为空那就是修改了
如果是删除时间短所在的一行就是删除
你要哪种
估计你是要删除那一行了
delete yyksmx FROM yyksmx
inner join yybrryjy
on yybrryjy.住院序号=yyksmx .住院序号
WHERE (时间 > CONVERT(DATETIME, '2010-01-01 00:00:00', 102)) AND
(时间 < CONVERT(DATETIME, '2010-01-11 00:00:00', 102))
and yybrryjy.状态=0
展开全部
两个表之间就没有什么关系么? 比如 表一的某字段 = (或者</>=/<=/<>) 表二的某字段
追问
第个表的图片
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关联需要两张表中同一个字段进行连接,建立联系,就可以都查出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你直接把两个表的结果贴出来吧。你的描述我没有看的太明白。我要看看两个表之间的关系。
更多追问追答
追问
怎么贴出来啊。 截图片可以吗。
追答
1.先SELECT 看看是否是你要删除的数据
select * from 表2
where state=0 and iD in
(
select iD from 表 1 where cast(时间 as date) between '2010-01-01' and '2010-01-11'
--你是否只要删除2010年1月份1号~11号的数据?
)
2.如果数据正确,删除
delete from 表2
where state=0 and Id in
(
select Id from 表 1 where cast(时间 as date) between '2010-01-01' and '2010-01-11'
--你是否只要删除2010年1月份1号~11号的数据?
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询