34,594
社区成员
发帖
与我相关
我的任务
分享
create table tb(Jobid int,col varchar(50))
insert into tb values(1 ,'New Hire - Job not specified')
insert into tb values(2 ,'Chief Executive Officer')
insert into tb values(3 ,'Business Operations Manager')
insert into tb values(4 ,'Chief Financial Officier')
insert into tb values(5 ,'Publisher')
insert into tb values(6 ,'Managing Editor')
insert into tb values(7 ,'Marketing Manager')
insert into tb values(8 ,'Public Relations Manager')
insert into tb values(9 ,'Acquisitions Manager')
insert into tb values(10 ,'Productions Manager')
insert into tb values(11 ,'Operations Manager')
insert into tb values(12 ,'Editor')
insert into tb values(13 ,'Sales Representative')
insert into tb values(14 ,'Designer')
go
DECLARE @STR VARCHAR(8000)
SELECT @STR=ISNULL(@STR+',','')+col FROM (SELECT DISTINCT col FROM tb)AS T
print @STR
drop table tb
/*
Acquisitions Manager,Business Operations Manager,Chief Executive Officer,Chief Financial Officier,Designer,Editor,Managing Editor,Marketing Manager,New Hire - Job not specified,Operations Manager,Productions Manager,Public Relations Manager,Publisher,Sales Representative
*/
create table tb(Jobid int,col varchar(50))
insert into tb values(1 ,'New Hire - Job not specified')
insert into tb values(2 ,'Chief Executive Officer')
insert into tb values(3 ,'Business Operations Manager')
insert into tb values(4 ,'Chief Financial Officier')
insert into tb values(5 ,'Publisher')
insert into tb values(6 ,'Managing Editor')
insert into tb values(7 ,'Marketing Manager')
insert into tb values(8 ,'Public Relations Manager')
insert into tb values(9 ,'Acquisitions Manager')
insert into tb values(10 ,'Productions Manager')
insert into tb values(11 ,'Operations Manager')
insert into tb values(12 ,'Editor')
insert into tb values(13 ,'Sales Representative')
insert into tb values(14 ,'Designer')
go
create proc taoistong
as
declare @taoistong varchar(100)
set @taoistong=''
select @taoistong=@taoistong +','+col from tb
select @taoistong
exec taoistong
if object_id('tb') is not null drop table tb
go
create table tb(Jobid int, JobName varchar(50))
insert tb select
1, 'New Hire - Job not specified' union all select
2, 'Chief Executive Officer' union all select
3, 'Business Operations Manager' union all select
4, 'Chief Financial Officier' union all select
5, 'Publisher' union all select
6, 'Managing Editor' union all select
7, 'Marketing Manager' union all select
8, 'Public Relations Manager' union all select
9, 'Acquisitions Manager 'union all select
10,'Productions Manager 'union all select
11, 'Operations Manager 'union all select
12, 'Editor 'union all select
13, 'Sales Representative 'union all select
14, 'Designer '
if object_id('SP_GetJobs') is not null drop proc SP_GetJobs
go
create proc SP_GetJobs
@s varchar(10)
as
declare @str varchar(200)
select @str=isnull(@str+',','')+JobName from tb
where charindex(','+ltrim(Jobid)+',',','+@s+',')>0
select @str
go
exec SP_GetJobs '1,2,3'
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
New Hire - Job not specified,Chief Executive Officer,Business Operations Manager
(1 行受影响)
DECLARE @STR VARCHAR(8000)
SELECT @STR=ISNULL(@STR+',','')+JobName FROM (SELECT DISTINCT JobName FROM tb)AS T
print @STR
create table tb(Jobid int,col varchar(50))
insert into tb values(1 ,'New Hire - Job not specified')
insert into tb values(2 ,'Chief Executive Officer')
insert into tb values(3 ,'Business Operations Manager')
insert into tb values(4 ,'Chief Financial Officier')
insert into tb values(5 ,'Publisher')
insert into tb values(6 ,'Managing Editor')
insert into tb values(7 ,'Marketing Manager')
insert into tb values(8 ,'Public Relations Manager')
insert into tb values(9 ,'Acquisitions Manager')
insert into tb values(10 ,'Productions Manager')
insert into tb values(11 ,'Operations Manager')
insert into tb values(12 ,'Editor')
insert into tb values(13 ,'Sales Representative')
insert into tb values(14 ,'Designer')
go
--方法一
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + t.col + ',' from (select col from tb) as t
set @sql='select result = ''' + left(@sql , len(@sql) - 1) + ''''
exec(@sql)
/*
result
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
New Hire - Job not specified,Chief Executive Officer,Business Operations Manager,Chief Financial Officier,Publisher,Managing Editor,Marketing Manager,Public Relations Manager,Acquisitions Manager,Productions Manager,Operations Manager,Editor,Sales Represen
*/
--方法二
declare @output varchar(8000)
select @output = coalesce(@output + ',' , '') + col from tb
print @output
/*
New Hire - Job not specified,Chief Executive Officer,Business Operations Manager,Chief Financial Officier,Publisher,Managing Editor,Marketing Manager,Public Relations Manager,Acquisitions Manager,Productions Manager,Operations Manager,Editor,Sales Represen
*/
drop table tb
create procedure SP_GetJobs
@jobids varchar(100),
@result varchar(4000) output
as
begin
set @result = ''
select @result=@result+JobName from 表 where charindex(','+@jobids+',', ','+Jobid+',')>0
end
declare @sql varchar(8000)
select @sql=isnull(@sql+',','')+jobname from tb where jobid in (1,2,3)
print @sql
CREATE PROC P(@JOBID1 INT,@JOBID2 INT,@JOBID3 INT)
AS
DECLARE @STR NVARCHAR(4000)
SELECT @STR=ISNULL(@STR+' ','')+JOBNAME FROM TB
WHERE JOBID IN(@JOBID1 ,@JOBID2 ,@JOBID3)
SELECT @STR