本文介绍了如何检查下面提到的查询表以避免重复记录插入。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我需要在检查表tblCONTSPRateHourTariff中是否已存在TariffName之后插入记录。 我尝试过: insert 进入 tblCONTSPRateHourTariff 选择 allotRateHour.Id ,(选择 id FROM [dbo]。[tblACCTSPContractTariff] 其中 TariffName = ' MPS_FLAT_MINIVAN_247' 和 ContractDetailId = 1021),(选择 TariffType FROM [dbo]。[tblACCTSPContractTariff] 其中​​ TariffName = ' MPS_FLAT_MINIVAN_247' 和 ContractDetailId = 1021) 来自 tblCONTAllotInventory allot join tblCONTSPRateHour allotRateHour allot.Id = allotRateHour.AllotInventoryId - 加入tblCONTSPRateHourTariff rateHourTariff on allotRateHour.id = rateHourTariff.RateHourId join [tblCONTAllotInventSegment] allotSeg on allot.Id = allotSeg.AllotInventoryId join tblSYSASegment seg on allotSeg.SegmentId = seg.Id join tblCONTServiceProperty prop on allot.SPropertyId = prop .Id join tblCONTServiceProvider sp on sp.Id = prop.SPId where seg.Name = ' STORBIL-MPS' 和 sp.ContractId ( 1021 )和 seg.SegmentId = ' ABC123' 解决方案 使用存在查询添加另一个where子句: 和 不 存在(选择 * 来自 [dbo]。[tblACCTSPContractTariff] where TariffName = ' MPS_FLAT_MINIVAN_247') I need to insert the record after checking if TariffName is already exists in the table tblCONTSPRateHourTariff or not.What I have tried:insert into tblCONTSPRateHourTariff select allotRateHour.Id ,(select id FROM [dbo].[tblACCTSPContractTariff] where TariffName='MPS_FLAT_MINIVAN_247' and ContractDetailId=1021) ,(select TariffType FROM [dbo].[tblACCTSPContractTariff] where TariffName='MPS_FLAT_MINIVAN_247' and ContractDetailId=1021) from tblCONTAllotInventory allot join tblCONTSPRateHour allotRateHour on allot.Id=allotRateHour.AllotInventoryId --join tblCONTSPRateHourTariff rateHourTariff on allotRateHour.id=rateHourTariff.RateHourId join [tblCONTAllotInventSegment] allotSeg on allot.Id=allotSeg.AllotInventoryId join tblSYSASegment seg on allotSeg.SegmentId=seg.Id join tblCONTServiceProperty prop on allot.SPropertyId=prop.Id join tblCONTServiceProvider sp on sp.Id=prop.SPId where seg.Name='STORBIL-MPS' and sp.ContractId in (1021) and seg.SegmentId='ABC123' 解决方案 Add another "where" clause with an "exists" query:and not exists (select * from [dbo].[tblACCTSPContractTariff] where TariffName = 'MPS_FLAT_MINIVAN_247') 这篇关于如何检查下面提到的查询表以避免重复记录插入。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-26 06:02
查看更多