declare @i int
select x.*,qd1.vcJYJLBH as sjbh1,qd2.vcJYJLBH as sjbh2,qd3.vcJYJLBH as sjbh3,
[fCYMJ1]='10000',[fCYMJ3]='10000',[fCYMJ2]='10000',z.vcGCBW,z.dtCXRQ
into #ss
from tbTQDPDBGXB X
left join tbTQDPDBGZB z on z.vcZBDJBH=x.vcZBDJBH
left join tbHNTCCJCJL qd1 on qd1.vczbdjbh=vcXNQDZBBH
left join tbHNTCCJCJL qd2 on qd2.vczbdjbh=vcXNQDZBBH1
left join tbHNTCCJCJL qd3 on qd3.vczbdjbh=vcXNQDZBBH2
where x.vczbdjbh=:vczbdjbh
select @i=count(*) from #ss
if @i>6 select @i=@i%6
while 6-@i>0
begin
insert into #ss(vcZBDJBH,vcXBDJBH,fCYMJ1,fCYMJ2,fCYMJ3) values('1','1',' ',' ',' ')
select @i=@i+1
end
select * from #ss order by vczbdjbh DESC
AS
/*声明一个查询表的游标*/
Declare @tempCursor Cursor
Set @tempCursor = Cursor For
SELECT title
FROM cardsms
WHERE cardname=@cardname
For Read Only
/*打开表游标*/
Open @tempCursor
Declare @sqltext varchar(1000)
SET @sqltext = "SELECT '" + @cardname + "'"
Declare @title varchar(50)
WHILE (0=0) BEGIN
/*取一条投注记录*/
Fetch Next
From @tempCursor
INTO @title
IF (@@Fetch_Status<>0) Break /*到达表尾*/
SET @sqltext = @sqltext + ",'" + @title + "'"
END
/*关闭并释放投注表游标*/
Close @tempCursor
Deallocate @tempCursor
exec(@sqltext)
GO
请注意,sql server一个表最多1024列,每行最多可以存储 8,060 字节。所以你的返回结果,不能超过这个限制。
--函數
create function dbo.fn_bb(@a varchar(10))
returns varchar(1000)
as
begin
declare @s varchar(1000)
set @s=''
select @s=@s+[经历]+',' from 表2 where 姓名=@a
return (left(@s,len(@s)-1))
end
select 姓名,经历=dbo.fn_bb(姓名) from 表1 group by 姓名 order by 2
姓名 经历