SQL如何在存储过程里写一个代码显示两个表的字段? 20yangchangdao]

发布时间:2017-1-20 0:56:33 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"SQL如何在存储过程里写一个代码显示两个表的字段? 20yangchangdao]",主要涉及到SQL如何在存储过程里写一个代码显示两个表的字段? 20yangchangdao]方面的内容,对于SQL如何在存储过程里写一个代码显示两个表的字段? 20yangchangdao]感兴趣的同学可以参考一下。

如题,举例,两张表1:Users,2:data 1:USERS中有字段 user_code,user_name 2:data中有字段user_code,steam... 现在要写一个存储过程,我这样写的。 creat procedure query CREATE PROCEDURE [dbo].[query] (          @User_name   varchar(50),      --  @Check_time  datetime=null,        @User_code    varchar(50) )  AS select data.User_code  --as @user_name,data.steam where data.User_code=User.User_code and [email protected]_code  GO 我想在查询分析器中查询的时候,user_code 字段显示 users中的对应USE_code的名字 例如:有个users中有1001,大学       data中有1001,100 查询显示 query 1001 显示如下 大学     steam 1001       100 谢谢各位了

select 大学,stream from tb1,tb2 where tb1.user_code=tb2.user_code

select   b.user_code,a.user_name  from  USERS a,data b where  a.user_code=b.user_code

select data.User_code ,data.steam from data,User where data.User_code=User.User_code and [email protected]_code  ?

大家误解我的意思了,我的意思是写一个存储过程,然后再前台用“query ”查询, 举例,users中有数据,1001,大学;1002,小学,1002,中学。 data中有,1001,100;1002,200;1003,300。 现在写存储过程,当在前台查询query 1001时候,查询出来如下 user_code,steam 1001       100 而我要想显示的结果是: 大学    steam 1001    100 意思就是说是用这两个表,查询一个号的时候对应的user_code字段用对应号的名字来显示! 谢谢各位

--创建测试临时表 create table #users(user_code varchar(5),user_name varchar(20)) create table #data(user_code varchar(5),steam int) --插入测试数据 insert into #users select '1001','大学' union all select '1002','小学' union all select '1003','中学'  insert into #data select '1001',100 union all select '1003',100 union all select '1002',100 union all select '1001',80 go --创建查询用 测试存储过程 create procedure test @user_code varchar(5) as begin set nocount on  declare @exec varchar(200) declare @col_name varchar(20) set @col_name = '其他' select @col_name = user_name from #users where user_code = @user_code set @exec = 'select user_code as [' + @col_name + '] ,steam  from #data where user_code = ''' + @user_code + '''' exec (@exec) end go --执行存储过程 exec test '1002' go --清理 drop procedure test drop table #users drop table #data go

create table #users(user_code varchar(5),user_name varchar(20)) create table #data(user_code varchar(5),steam int) --插入测试数据 insert into #users select '1001','大学' union all select '1002','小学' union all select '1003','中学'  insert into #data select '1001',100 union all select '1003',100 union all select '1002',100 union all select '1001',80 go create proc pr_test @user_code varchar(100) as begin      declare @s varchar(1000)     select @s='select user_code as ' + QUOTENAME(user_name) +          ' ,steam  from #data where user_code = [email protected]_code+''''     from #users     where user_code = @user_code     exec(@s) end go exec pr_test '1002' drop proc pr_test drop table #users drop table #data go /* 小学    steam ----- ----------- 1002  100 (1 行受影响) */

User_code='"[email protected]_code+"''

上一篇:创建分区错误 40qurihong]
下一篇:哪位大侠用过LumigentLogExplorer4,请教下! 20aligu0543]

相关文章

相关评论