SQL语句 表中自动批量update
表一日期航班号飞机号起飞时间起飞机场表二日期航班号飞机号现在想用表二中的数据更新表一对应关系是将表一中航班号和日期与表二航班号日期相同的条目中飞机号更新成表二的数据例如‘...
表一
日期 航班号 飞机号 起飞时间 起飞机场
表二
日期 航班号 飞机号
现在想用表二中的 数据更新表一
对应关系是
将表一中 航班号和日期与表二航班号日期相同的 条目中飞机号更新成表二的数据
例如 ‘
2014-04-01 CZ6109 B2345 1900 SHE
2014-04-01 CZ6133 B2675 2100 PEK
2014-04-01 CA3109 B2323 1900 CGQ
2014-04-01 CZ6343 B5678 2100 PEK
表二有
2014-04-01 CZ6109 B1111
2014-04-01 CA3109 B2222
执行后的结果是 表一
2014-04-01 CZ6109 B1111 1900 SHE
2014-04-01 CZ6133 B2675 2100 PEK
2014-04-01 CA3109 B2323 1900 CGQ
2014-04-01 CZ6343 B5678 2100 PEK 展开
日期 航班号 飞机号 起飞时间 起飞机场
表二
日期 航班号 飞机号
现在想用表二中的 数据更新表一
对应关系是
将表一中 航班号和日期与表二航班号日期相同的 条目中飞机号更新成表二的数据
例如 ‘
2014-04-01 CZ6109 B2345 1900 SHE
2014-04-01 CZ6133 B2675 2100 PEK
2014-04-01 CA3109 B2323 1900 CGQ
2014-04-01 CZ6343 B5678 2100 PEK
表二有
2014-04-01 CZ6109 B1111
2014-04-01 CA3109 B2222
执行后的结果是 表一
2014-04-01 CZ6109 B1111 1900 SHE
2014-04-01 CZ6133 B2675 2100 PEK
2014-04-01 CA3109 B2323 1900 CGQ
2014-04-01 CZ6343 B5678 2100 PEK 展开
3个回答
展开全部
if exists (select 1 from 表一 left join 表二 on 表一.日期=表二.日期 and 表一.航班号=表二.航班号
and 表一.飞机号<>isnull(表二.飞机号,''))
begin
update b set b.飞机号=a.飞机号
from 表一 b,表二 a
where 表一.日期=表二.日期
and 表一.航班号=表二.航班号
and 表一.飞机号<>isnull(表二.飞机号,'')
end
and 表一.飞机号<>isnull(表二.飞机号,''))
begin
update b set b.飞机号=a.飞机号
from 表一 b,表二 a
where 表一.日期=表二.日期
and 表一.航班号=表二.航班号
and 表一.飞机号<>isnull(表二.飞机号,'')
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update table1 a
set a.飞机号 =
(select b.飞机号
from table2 b
where b.航班号 = a.航班号
and b.日期 = a.日期)
where exists(select 1
from table2 b
where b.航班号 = a.航班号
and b.日期 = a.日期)
set a.飞机号 =
(select b.飞机号
from table2 b
where b.航班号 = a.航班号
and b.日期 = a.日期)
where exists(select 1
from table2 b
where b.航班号 = a.航班号
and b.日期 = a.日期)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update 表1 set 字段1=(select 表2.字段1 from 表2 where 表2.航班号=表1.航班号 and 表2.日期=表1.日期) where exists (select 1 from 表2 where 表2.航班号=表1.航班号 and 表2.日期=表1.日期 )
试一下,不知道行不行,没有测试
试一下,不知道行不行,没有测试
追问
貌似有点乱呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询