帮忙看一下存储过程的问题?谢谢

godhuang 2005-07-19 03:34:18
1、下面用游标显示数据是一行一行显示的,有没有办法显示一个整体;
2、第一次写游标,帮忙优化一下

set nocount on
declare @sid varchar(20)
declare @sname varchar(100)
declare @lname varchar(100)
declare @sid2 varchar(20)
declare @sname2 varchar(100)
declare @lname2 varchar(100)

declare show cursor for
select a.supplyid,b.supplyname,a.licensename
from supply_license a left join supply b on a.supplyid = b.supplyid
order by a.supplyid

open show
FETCH NEXT FROM show into @sid,@sname,@lname
select @sid as sid,@sname as sname,@lname as lname
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM show into @sid2,@sname2,@lname2
if (@sid = @sid2 and @sname = @sname2 )
begin
select '' as sid,'' as sname,@lname2 as lname
set @sid = @sid2
set @sname = @sname2
set @lname = @lname2
end
else
begin
select @sid2 as sid,@sname2 as sname,@lname2 as lname
set @sid = @sid2
set @sname = @sname2
set @lname = @lname2
end
END

CLOSE show
DEALLOCATE show
set nocount off

本来写这个的目的如下面:
00001 沈阳统一企业有限公司 生产许可证
00001 沈阳统一企业有限公司 卫生许可证
00001 沈阳统一企业有限公司 商标注册证
00001 沈阳统一企业有限公司 营业执照
00001 沈阳统一企业有限公司 企业标准
写语句变成
00001 沈阳统一企业有限公司 生产许可证
卫生许可证
商标注册证
营业执照
企业标准
先谢谢各位
...全文
145 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
godhuang 2005-07-20
  • 打赏
  • 举报
回复
licensename<a.licensename

这个是什么意思?
子陌红尘 2005-07-20
  • 打赏
  • 举报
回复
try:
----------------------------------------------------------------------
select
supplyid_1 = (case
when exists(select 1 from supply_license where supplyid=a.supplyid and licensename<a.licensename)
then ''
else a.supplyid
end),
supplyname_1 = (case
when exists(select 1 from supply_license where supplyid=a.supplyid and licensename<a.licensename)
then ''
else b.supplyname
end),
a.licensename
from
supply_license a
left join
supply b
on
a.supplyid = b.supplyid
order by
a.supplyid,a.licensename
godhuang 2005-07-20
  • 打赏
  • 举报
回复
请高手帮忙一下
godhuang 2005-07-19
  • 打赏
  • 举报
回复
up 一下
flyfing 2005-07-19
  • 打赏
  • 举报
回复
CASE条件少的话,用CASE语句写估计比较方便。
看楼主列出来的数据,估计条件不少,用CASE语句写起来估计可能很麻烦
godhuang 2005-07-19
  • 打赏
  • 举报
回复
怎么写?楼上的
chichunhua 2005-07-19
  • 打赏
  • 举报
回复
好像不用游標就可以實現的,用case語句吧
zzebra 2005-07-19
  • 打赏
  • 举报
回复
想看看你的数据表,联系一下.

MSN: zebra0330@hotmail.com
QQ: 4315259
zzebra 2005-07-19
  • 打赏
  • 举报
回复
想看看你的数据表,联系一下.

MSN: zebra0330@hotmail.com
QQ: 4315259
zzebra 2005-07-19
  • 打赏
  • 举报
回复
数据表拿来看看

QQ:4315259

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧