活跃下气氛,9*9乘法表中的一个问题

人生无悔 2012-05-26 01:41:40
http://topic.csdn.net/u/20120525/16/1e09cbf2-2945-4d9e-ada7-1b03c127051a.html?67353
根据9*9乘法表中的一个问题

假设一个表t(row,col,val)数据如下,刚好每行,每列存放的是9*9乘法口诀中的一个值,如何用一句话将其按9*9乘法表中数据的对应方式打印或选出来?
row col val
1 1 1x1=1
2 1 1x2=2
3 1 1x3=3
4 1 1x4=4
5 1 1x5=5
6 1 1x6=6
7 1 1x7=7
8 1 1x8=8
9 1 1x9=9
2 2 2x2=4
3 2 2x3=6
4 2 2x4=8
5 2 2x5=10
6 2 2x6=12
7 2 2x7=14
8 2 2x8=16
9 2 2x9=18
3 3 3x3=9
4 3 3x4=12
5 3 3x5=15
6 3 3x6=18
7 3 3x7=21
8 3 3x8=24
9 3 3x9=27
4 4 4x4=16
5 4 4x5=20
6 4 4x6=24
7 4 4x7=28
8 4 4x8=32
9 4 4x9=36
5 5 5x5=25
6 5 5x6=30
7 5 5x7=35
8 5 5x8=40
9 5 5x9=45
6 6 6x6=36
7 6 6x7=42
8 6 6x8=48
9 6 6x9=54
7 7 7x7=49
8 7 7x8=56
9 7 7x9=63
8 8 8x8=64
9 8 8x9=72
9 9 9x9=81
...全文
317 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aaron_Chan 2012-05-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
引用 7 楼 的回复:
SQL code

declare @s nvarchar(4000)
Select @s=isnull(@s+',','')+quotename(row) from t4 group by row
exec('select * from t pivot (max(val) for row in('+@s+'))b')

-------------------……
[/Quote]

没关系。
人生无悔 2012-05-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
SQL code

declare @s nvarchar(4000)
Select @s=isnull(@s+',','')+quotename(row) from t4 group by row
exec('select * from t pivot (max(val) for row in('+@s+'))b')

--------------------------------……
[/Quote]
不好意思,已经结帖了,呵呵
Aaron_Chan 2012-05-26
  • 打赏
  • 举报
回复

declare @s nvarchar(4000)
Select @s=isnull(@s+',','')+quotename(row) from t4 group by row
exec('select * from t pivot (max(val) for row in('+@s+'))b')

-----------------------------------------------------------------
(9 行受影响)

col 1 2 3 4 5 6 7 8 9
----------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
1 1x1= 1 1x2= 2 1x3= 3 1x4= 4 1x5= 5 1x6= 6 1x7= 7 1x8= 8 1x9= 9
2 NULL 2x2= 4 2x3= 6 2x4= 8 2x5=10 2x6=12 2x7=14 2x8=16 2x9=18
3 NULL NULL 3x3= 9 3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=27
4 NULL NULL NULL 4x4=16 4x5=20 4x6=24 4x7=28 4x8=32 4x9=36
5 NULL NULL NULL NULL 5x5=25 5x6=30 5x7=35 5x8=40 5x9=45
6 NULL NULL NULL NULL NULL 6x6=36 6x7=42 6x8=48 6x9=54
7 NULL NULL NULL NULL NULL NULL 7x7=49 7x8=56 7x9=63
8 NULL NULL NULL NULL NULL NULL NULL 8x8=64 8x9=72
9 NULL NULL NULL NULL NULL NULL NULL NULL 9x9=81

(9 行受影响)


叶子 2012-05-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

用case when +group by 进行行转列。
[/Quote]


select
max(case when col=1 then val end) [1],
max(case when col=2 then val end) [2],
max(case when col=3 then val end) [3],
max(case when col=4 then val end) [4],
max(case when col=5 then val end) [5],
max(case when col=6 then val end) [6],
max(case when col=7 then val end) [7],
max(case when col=8 then val end) [8],
max(case when col=9 then val end) [9]
from 你的表名 group by row
叶子 2012-05-26
  • 打赏
  • 举报
回复
用case when +group by 进行行转列。
人生无悔 2012-05-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
SQL code

declare @x int
declare @y int
declare @c varchar(6000)
set @x = 1
while(@x<=9)
begin
select @y=@x,@c=''
while(@y<=9)
begin
select @c=cast(@x as varchar)+'x'+cast(@y as varch……
[/Quote]

我的意思选出来的结果是这个,也就是9行9列,谢谢!

1x1=1

1x2=2 2x2=4

1x3=3 2x3=6 3x3=9

1x4=4 2x4=8 3x4=12 4x4=16

1x5=5 2x5=10 3x5=15 4x5=20 5x5=25

1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36

1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49

1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64

1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
SQL777 2012-05-26
  • 打赏
  • 举报
回复
标准的行转列
AcHerat 2012-05-26
  • 打赏
  • 举报
回复

declare @x int
declare @y int
declare @c varchar(6000)
set @x = 1
while(@x<=9)
begin
select @y=@x,@c=''
while(@y<=9)
begin
select @c=cast(@x as varchar)+'x'+cast(@y as varchar)+'='
+(case when len(ltrim(@x*@y))>1 then '' else ' ' end)+ltrim(@x*@y)+' '
select @y=@y+1
print @c
end
select @x=@x+1
end

/****************

1x1= 1
1x2= 2
1x3= 3
1x4= 4
1x5= 5
1x6= 6
1x7= 7
1x8= 8
1x9= 9
2x2= 4
2x3= 6
2x4= 8
2x5=10
2x6=12
2x7=14
2x8=16
2x9=18
3x3= 9
3x4=12
3x5=15
3x6=18
3x7=21
3x8=24
3x9=27
4x4=16
4x5=20
4x6=24
4x7=28
4x8=32
4x9=36
5x5=25
5x6=30
5x7=35
5x8=40
5x9=45
6x6=36
6x7=42
6x8=48
6x9=54
7x7=49
7x8=56
7x9=63
8x8=64
8x9=72
9x9=81
任务6.2 公式和函数 第6章 电子表格处理软件应用 教学内容 函数的概念 函数的基本格式 函数的用法举例 计算机应用基础Excel公式与函数全文共15页,当前为第1页。 棋盘上的麦粒 新课导入 有一个古老的传说(棋盘上的麦粒:有一位宰相发明了国际象棋,国王打算奖赏他。国王问他想要什么,宰相对国王说:"陛下,请您在右边棋盘上的第一小格里,赏给我1粒麦子,第2个小格里给2粒,第3个小格里给4粒,以后每一小格给的麦子都是前一小格的2倍。您像这样把棋盘上的64个小格用麦粒摆满,就把这些麦粒赏给我吧!") 国王需要拿出多少麦粒? 计算机应用基础Excel公式与函数全文共15页,当前为第2页。 教学过程(第三、四课时) (一)、情景导入:( 创设情境激发兴趣) 由一个古老的传说(棋盘上的麦粒:有一位宰相发明了国际象棋,国王打算奖赏他。国王问他想要什么,宰相对国王说:"陛下,请您在右边棋盘上的第一小格里,赏给我1粒麦子,第2个小格里给2粒,第3个小格里给4粒,以后每一小格给的麦子都是前一小格的2倍。您像这样把棋盘上的64个小格用麦粒摆满,就把这些麦粒赏给我吧!")引出话题。 1、 提问:国王需要拿出多少麦粒? 2、 分析:1+2+4+8+16+…+262+263=? (听故事,思考问题,学生口算 活跃气氛,激发兴趣。) (二)新课展开:函数的基本用法 计算机应用基础Excel公式与函数全文共15页,当前为第3页。 【教师讲解】 1、 函数的概念。 2、 函数的基本格式。(教师板书) 3、 函数的用法举例:用求和函数(SUM)计算麦粒的总数。 (教师演示)学生看投影,听老师讲解。 从理性上认识第一个函数:求和(SUM)的基本用法格式。 计算机应用基础Excel公式与函数全文共15页,当前为第4页。 教师讲授 讲授新课 函数是Excel预先定义的内置公式。 格式:=函数名称(参数) 注意:"="是必不可少的;参数一般采用单元格或区域的表示法。 语法: SUM(number1,number2, ...) number1, number2, ... 是要对其求和的 1 到 255 个参数。 计算机应用基础Excel公式与函数全文共15页,当前为第5页。 常用函数 讲授新课 名称 格式 求和函数 SUM(number1,number2…) 求平均函数 AVERAGE(number1,number2…) 计数函数 COUNT(value1,value2…) 最大值函数 MAX(number1,number2…) 最小值函数 MIN(number1.number2…) 条件函数 IF(logical_test,value_if_true,value_if_false) 计算机应用基础Excel公式与函数全文共15页,当前为第6页。 任务描述 讲授新课 任务一:统计总分、平均分、最高分、最低分、人数。 (1)计算每个学生的总分。 (2)计算各学生的平均分,使用函数AVERAGE。 (3)在表格右侧输入"学生成绩分析表"及相关项目的内容。 (4)将表头部分"二年级学生成绩分析表"合并居。 (5)利用函数填写 分析表的各个项目。 计算机应用基础Excel公式与函数全文共15页,当前为第7页。 运算符号 运算功能 举例 运算结果   加法       减法       乘法       除法       求百分数       乘方     计算机应用基础Excel公式与函数全文共15页,当前为第8页。 运算符号 运算功能 举例 运算结果   等于       大于       小于       大于等于       小于等于       不等于     任务二:关系运算符 【任务描述】学生根据运算功能,在键盘上找出相应的运算符号,举例说明,查看运算结果。 计算机应用基础Excel公式与函数全文共15页,当前为第9页。 计算机应用基础Excel公式与函数全文共15页,当前为第10页。 引用运算符的定义 示例: 运算符的优先顺序 圆括号 > 函数 > 幂 > 乘除 > 加减 > 连接 > 关系运算 计算机应用基础Excel公式与函数全文共15页,当前为第11页。 任务三:统计总分、平均分、最高分、最低分、人数。 【任务描述】打开"二年级学生成绩统计""汇总表"工作表 (1)计算每个学生的总分。 (2)计算各学生的平均分,使用函数AVERAGE。 (3)在表格右侧输入"学生成绩分析表"及相关项目的内容。 (4)将表头部分"二年级学生成绩分析表"合并居。 (5)利用函数填写 分析表的各个项目。 计算机应用基础Excel公式与函数全文共15页,当前为第12页。 计算机应用基础Excel公式与函数全文共15页,当前为第13页。 学生: 评出最具领悟奖 师生点评 学生作

27,579

社区成员

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

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