首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

有条sql语句有点难,不知道怎么简洁的写出来,所以发出来请问一下大家,大家感兴趣的进来看看,顺祝中秋节快乐!

2012-03-21 
有条sql语句有点难,不知道如何简洁的写出来,所以发出来请教一下大家,大家感兴趣的进来看看,顺祝中秋节快乐

有条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

热点排行