求教大神,SQL这个怎么两个栏位的数据同时存在另一个表

jx-lpcx 2021-04-28 09:01:17
列如表a有station和cause两个栏位的数据,我想在表b中判断表a的station和cause两个栏位的数据都存在,不存在的写到表b中,谢谢啦
...全文
265 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
morliz子轩 2021-04-28
  • 打赏
  • 举报
回复
引用 楼主 tianxia978 的回复:
列如表a有station和cause两个栏位的数据,我想在表b中判断表a的station和cause两个栏位的数据都存在,不存在的写到表b中,谢谢啦

if not exists(select 1 from syscolumns inner join sysobjects on sysobjects.id = syscolumns.id
    where syscolumns.name = 'station' and syscolumns.name = 'cause' and sysobject.name = "B表'
begin
      update B ……

end
锟斤拷锟斤拷 2021-04-28
  • 打赏
  • 举报
回复

MERGE INTO b target 
USING a source
ON (target.station=source.station AND target.cause =source.cause ) 
WHEN NOT MATCHED THEN 
    INSERT (station,cause) VALUES (source.station,source.cause );
唐诗三百首 2021-04-28
  • 打赏
  • 举报
回复

insert into 表b(station,cause)
 select a.station,a.cause
 from 表a a
 left join 表b b
    on a.station=b.station
	   and a.cause=b.cause
 where b.station is null
文盲老顾 2021-04-28
  • 打赏
  • 举报
回复
insert into b(字段名)
select val 
from (
	select * 
	from a
	unpivot(val for col in (station,cause)) p
) a
where not exists(select top 1 1 from b where 字段名=a.val)
两个帖子都结贴吧

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧