这是我的样本数据
create table #t(id int identity(1,1),name varchar(10),region varchar(10),amt int)
insert into #t values('abc','R1',100),('xyz','R1',200),('lmn','R2',300),
('stu','R3',500)
create procedure test
as @enter varchar(10)
as
begin
select a.name,a.region,a.id from #t a join #b where a.region=b.region
end
exec test @enter='abc'
上面的示例输出应该是
abc','R1',100
'xyz','R1',200
因为abc,xyz
属于同一个地区R1
我正在尝试执行SP
输入@name参数并输出具有相同区域的记录
**我正在尝试获取属于同一区域的用户数据。
但上述查询无效。
答案 0 :(得分:0)
select a.name,a.region,a.id from #t a join #b where a.region=b.region and a.region = @enter
答案 1 :(得分:0)
使用子选择,如果要创建过程,则必须使用持久表。
Select * from #t where region=(Select region from #t sub where sub.name=@enter)
可能看起来像:
create table t(id int identity(1,1),name varchar(10),region varchar(10),amt int)
insert into t values('abc','R1',100),('xyz','R1',200),('lmn','R2',300),
('stu','R3',500)
GO
create procedure test ( @enter varchar(10)) as
begin
Select * from t where region=(Select region from t sub where sub.name=@enter)
end
GO
exec test @enter='abc'