如何将一个表的记录转为一个查询的查询项?(望大侠赐教,定然送分!可以使用存储过程、视图等)

genedna 2002-04-29 05:23:21
如何将一个表的记录转为一个查询的查询项?(望大侠赐教,定然送分!可以使用存储过程、视图等)
有表一:
ID  Code  Name
1   001    早晨
2   002    中午
3   003    晚上

要查询产生的表如下:
人数(不相关的查询项)早晨 中午 晚上


冥思苦想都不能解决,忘大侠赐教!
...全文
35 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ajoo 2002-04-29
  • 打赏
  • 举报
回复
or, case and sum in SQL Server


select sum(case name when '早晨' then 1 else 0 end) as morning,
sum(case name when '中午' then 1 else 0 end) as noon,
sum(case name when '晚上' then 1 else 0 end) as evening
from t


case name when 'a' then 1 else 0 end
has counterpart in Oracle as
decode(name, 'a', 1, 0)
bluepower2008 2002-04-29
  • 打赏
  • 举报
回复
先通过表一构造一个动态sql查询语句@sql,然后运行execute @sql。
构造方法视你的具体情况而定。
比如:
declare @str varchar(8000),@sql varchar(8000)
set @str = ''
select @str = @str + ',' + name from table1
@sql = 'select 人数,其他查询项' + @str + ' from table2'
execute @sql
jlandzpa 2002-04-29
  • 打赏
  • 举报
回复
maybe: use decode and sum

34,594

社区成员

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

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