------最佳解决方案-------------------- SELECT 订单号,客户,数量 FROM A WHERE NOT EXISTS(SELECT 订单号,客户,数量 FROM B where a.主键=b.主键)主键具体要看你的表结构 ------其他解决方案--------------------
--用exists是这样的
declare @A table (订单号 int,客户 varchar(1),数量 int)
insert into @A
select 1000,'A',100 union all
select 2000,'B',200 union all
select 3000,'C',300
declare @B table (订单号 int,客户 varchar(1),数量 int)
insert into @B
select 1000,'A',100 union all
select 2000,'B',200
SELECT 订单号,客户,数量 FROM @A a
WHERE NOT EXISTS(SELECT TOP 1 * FROM @b b where a.订单号=b.订单号
and a.客户=b.客户 and a.数量=b.数量)
------其他解决方案-------------------- insert into B
select *
from a
except
select *
from b ------其他解决方案-------------------- 为什么这条语句不行呢!SELECT 订单号,客户,数量 FROM A WHERE NOT EXISTS(SELECT 订单号,客户,数量 FROM B) ------其他解决方案-------------------- DBA_Huangzj 您好!运行你的语句出现以下错误:
消息 421,级别 16,状态 1,第 1 行
text 数据类型不能选为 DISTINCT,因为它不可比。 ------其他解决方案-------------------- 晕,你的表还有text类型?那用4楼那个方法吧