怎样写这个查询?目标是动态的

michael_monkey 2005-03-23 09:52:10
表A,两字段,
编号,int类型
类型,字符串类型

还有多个查询,名称和字段相似。名称如view_XXX,其中XXX部分是表A中“类型”字段的内容,
查询的字段都是“编号”,“详细信息”两个字段。

举个例子说我想要的查询,
select a.编号,b.详细信息 from a,view_cpu b where a.编号=b.编号
其中b是动态的,根据“a.类型”来决定,如果“a.类型”是disk,那么b就是view_disk,如果是monitor,那b就是view_monitor……
...全文
122 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
michael_monkey 2005-03-23
  • 打赏
  • 举报
回复
是可以了,呆会儿结贴
zjcxc 元老 2005-03-23
  • 打赏
  • 举报
回复
libin_ftsafe(子陌红尘)的可以了
michael_monkey 2005-03-23
  • 打赏
  • 举报
回复
libin_ftsafe(子陌红尘)写的看起来很难懂的样子,慢慢看看
天地客人 2005-03-23
  • 打赏
  • 举报
回复
路过
michael_monkey 2005-03-23
  • 打赏
  • 举报
回复
??

子陌红尘 2005-03-23
  • 打赏
  • 举报
回复
declare @s varchar(8000)
set @s = ' '

select @s = ' union all select a.编号,b.详细信息 from a,view_'+类型+' where a.编号=b.编号 and a.类型 = '''+类型+'''' + @s
from a group by 类型

set @s = stuff(@s,1,11,'')

exec(@s)
davytao1018 2005-03-23
  • 打赏
  • 举报
回复
select a.编号,b.详细信息 from a, (select 'view_'+a.类型 from a c where c.编号=a.编号') b where a.编号=b.编号
michael_monkey 2005-03-23
  • 打赏
  • 举报
回复
我写成
select a.编号,b.详细信息 from a,'view_'+a.类型 b where a.编号=b.编号

实践证明,这是不行地

34,588

社区成员

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

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