存储过程里怎么写循环

wen01071081 2010-02-08 10:43:49
select ID into #a from Tab where (...按某个条件获取)
有另外一个表 tab1
select ID,Name,Type from tab1(这里的Type就是Tab表里的ID,Type是多类别的,保存的是多个ID的并列,如1,8,9)
我是想通过第一行的条件查出某些类,然后再到表tab1里查出属于这些类的数据

我觉得应该是要循环临时表#a,以第一行的ID去表tab1里查询

不知各位大侠这个循环要怎么写,或有何高见?
...全文
117 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wen01071081 2010-02-08
  • 打赏
  • 举报
回复
哈 我写出来了
东那个升 2010-02-08
  • 打赏
  • 举报
回复
SELECT B.* FROM TAB A,TAB1 B
WHERE A.id=B.TYPE AND (...按某个条件获取)
wen01071081 2010-02-08
  • 打赏
  • 举报
回复
我就是只想到循环了,不循环当然最好了
不过我想不到要怎么写
所以~~嘿~ 请各位指教下
qiqi860819 2010-02-08
  • 打赏
  • 举报
回复
来点测试数据,和写出你想要的结果
百年树人 2010-02-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 chinesesword 的回复:]
不循环 不行么?

select ID,Name,Type from tab1
left outer join
(select ID  from Tab where (...按某个条件获取) ) TT
ON tab1.type = TT.id

不可以?
[/Quote]

给出你的表结构,测试数据,算法和你要的结果
百年树人 2010-02-08
  • 打赏
  • 举报
回复

select tab1.ID,tab1.Name,tab1.Type 
from tab1,tab
where (...按某个条件获取)
and charindex(','+ltrim(tab.id)+',',','+tab1.type+',')>0
黄_瓜 2010-02-08
  • 打赏
  • 举报
回复
select ID,Name,Type from tab1 where
id in(select ID into #a from Tab where (...按某个条件获取) )
chinesesword 2010-02-08
  • 打赏
  • 举报
回复
不循环 不行么?

select ID,Name,Type from tab1
left outer join
(select ID from Tab where (...按某个条件获取) ) TT
ON tab1.type = TT.id

不可以?
水族杰纶 2010-02-08
  • 打赏
  • 举报
回复
select a.ID,a.Name,a.Type 
from tab1 a,Tab b where charindex(','+ltrim(a.Type)+',',','+ltrim(b.ID)+',')>0
and ...其他條件
黄_瓜 2010-02-08
  • 打赏
  • 举报
回复
大姐好绕呀,直接上你的数据结构和想要的结果吧
百年树人 2010-02-08
  • 打赏
  • 举报
回复
where charindex(','+ltrim(tab.id)+',',','+tab1.type+',')>0
bancxc 2010-02-08
  • 打赏
  • 举报
回复
迷糊
循环可以用游标
应该不用循环可以实现
jc_liumangtu 2010-02-08
  • 打赏
  • 举报
回复
用游标可以做循环的

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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