当前位置: 代码迷 >> Sql Server >> 请教这样的SQL语句怎么写?(内附例子)
  详细解决方案

请教这样的SQL语句怎么写?(内附例子)

热度:31   发布时间:2016-04-27 15:57:57.0
请问这样的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
---------------- ----------------
小安琪尔面包 桃李面包厂
毛毛虫面包 桃李面包厂
*/
  相关解决方案