读书人

有条sql语句有点难,不知道怎么简洁的写

发布时间: 2012-03-21 13:33:15 作者: rapoo

有条sql语句有点难,不知道如何简洁的写出来,所以发出来请教一下大家,大家感兴趣的进来看看,顺祝中秋节快乐!!
表A:
********************************************
******************************************
id name goods_type area
1 A月饼 面食 南京
2 B月饼 面食 南京
3 A月饼 面食 北京
4 A月饼 面食 北京
5 A月饼 面食 北京


现在已知参数id,area比如 id=1,area=北京现在要根据(name 和goods_type)相同的另一地区的id
现在要求得到结果如下:id=3,4,5
如何写sql语句呢


[解决办法]
不知道这个是不是楼主想要的。。
try:

create table ta(id int ,name varchar(50),goods_type varchar(50), area varchar(50))
insert into ta select 1, 'A月饼 ', '面食 ', '南京 '
union all select 2, 'B月饼 ', '面食 ', '南京 '
union all select 3, 'A月饼 ', '面食 ', '北京 '
union all select 4, 'A月饼 ', '面食 ', '北京 '
union all select 5, 'A月饼 ', '面食 ', '北京 '

alter function ttt(@id int ,@area varchar(50))
returns varchar(50)
as
begin
declare @name varchar(50)
declare @goods_type varchar(50)
declare @sql varchar(50)
select @name=name,@goods_type=goods_type from ta where id=@id
select @sql=isnull(@sql+ ', ', ' ')+cast(id as varchar) from ta where name=@name and goods_type=@goods_type and area=@area
return @sql
end

调用函数:
select dbo.ttt(1, '北京 ')

执行结果:3,4,5

读书人网 >asp.net

热点推荐