SQL SERVER实现乘法口诀表

看到群里有人说SQL怎么实现乘法口诀表,所以想了想写出的脚本
具体思路是把乘法口诀的计算结果列出来,然后使用动态行转列实现,方法可能很笨,请谅解

SELECT 'X'+cast(A.NUMBER AS VARCHAR(10)) X,'Y'+cast(B.NUMBER AS VARCHAR(10)) Y,CAST(A.NUMBER AS VARCHAR(10))+'*'+CAST((CASE WHEN B.NUMBER<A.NUMBER THEN NULL ELSE B.NUMBER END) AS VARCHAR(10))+'='+ CAST(A.NUMBER*(CASE WHEN B.NUMBER<A.NUMBER THEN NULL ELSE B.NUMBER END) AS VARCHAR(10))  C INTO #1
FROM (SELECT NUMBER  FROM [master]..SPT_VALUES WHERE TYPE='P' AND NUMBER BETWEEN 1 AND 9) A
LEFT JOIN (SELECT NUMBER  FROM [master]..SPT_VALUES WHERE TYPE='P' AND NUMBER BETWEEN 1 AND 9) B ON A.NUMBER<B.NUMBER+1

declare @sql varchar(8000)
select @sql = isnull(@sql + ',' , '') + X from #1 group by X
exec ('select * from #1 a pivot (MAX(C) for X in (' + @sql + ')) b')


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值