日期:2014-05-17  浏览次数:20495 次

SQL 关于Insert Select的问题

insert into t_gt_AirLine(AirLineKey,AirportKey,AirportName,ContactWay,Destination)
select NEWID(),b.AirCompanyKey,(b.TwoCode+','+b.AirCompanyNameEn+','+b.AirCompanyNameCh) as AirportName,
a.目的地联系方式,a.目的地 from dbo.A  as a
left join t_ky_AirCompany as b
on a.航空公司=b.TwoCode

      报错  求修改   

错误信息:消息 515,级别 16,状态 2,第 1 行
不能将值 NULL 插入列 'AirportKey',表 'Sinotech.dbo.t_gt_AirLine';列不允许有 Null 值。INSERT 失败。
insert sql join

------解决方案--------------------
左外部连接,a表为主表,b表为从表,从表的数据若与主表数据不匹配,用null补全
把b.AirCompanyKey列改成isnull(b.AirCompanyKey,'')