请问这样的SQL语句如何写?(内附例子)
Bread (表1)
FoodName Factory
小安琪尔面包 桃李面包厂
毛毛虫面包 桃李面包厂
威化饼干 桃李面包厂
肉松卷 永新面食
Cookies (表2)
FoodName Factory
威化饼干 桃李面包厂
儿童乐饼干 大荣食品厂
因“威化饼干”在表1和表2中都存在,所以在结果中去除。
请问使用SQL语句应该如何才能获取以下结果?
---------------------------
小安琪尔面包 桃李面包厂
毛毛虫面包 桃李面包厂
[解决办法]
declare @Bread table(FoodName varchar(16),Factory varchar(16))
insert into @Bread select '小安琪尔面包 ', '桃李面包厂 '
insert into @Bread select '毛毛虫面包 ', '桃李面包厂 '
insert into @Bread select '威化饼干 ' , '桃李面包厂 '
insert into @Bread select '肉松卷 ' , '永新面食 '
declare @Cookies table(FoodName varchar(16),Factory varchar(16))
insert into @Cookies select '威化饼干 ' , '桃李面包厂 '
insert into @Cookies select '儿童乐饼干 ', '大荣食品厂 '
select
b.*
from
@Bread b
where
exists(select 1 from @Cookies where Factory=b.Factory and FoodName!=b.FoodName)
/*
FoodName Factory
---------------- ----------------
小安琪尔面包 桃李面包厂
毛毛虫面包 桃李面包厂
*/