星空网 > 软件开发 > 数据库

FOR XML PATH实现小九九

数据库环境:SQL SERVER2008R2

今天我们用SQL实现一下九九乘法表的功能。

实现的逻辑不是很复杂,难点在于怎么把想要的内容从同一列里头拼接到同一行上。

在这里,我们用到了FOR

/*数据准备,生成自然数1-9*/WITH  x0     AS ( SELECT  id        FROM   t100        WHERE  id <= 9       ),/*生成所有可能的乘法组合*/    x1     AS ( SELECT  a.id AS aid ,            b.id AS bid ,            CONVERT(VARCHAR(1), a.id) + ' * '            + CONVERT(VARCHAR(1), b.id) + ' = '            + CONVERT(VARCHAR(2), a.id * b.id) AS result        FROM   x0 a ,            x0 b        WHERE  a.id <= b.id       )  /*把被乘数相同的转到同一行上*/  SELECT result  FROM  ( SELECT  bid ,            ( SELECT  ' ' + result AS [text()]             FROM   x1 AS t2             WHERE   t2.bid = t1.bid            FOR             '')            ) AS result       FROM   x1 AS t1       GROUP BY bid      ) t;  

相关的说明已经在代码里进行注释。最后,附上结果图。

FOR XML PATH实现小九九

(本文完)




原标题:FOR XML PATH实现小九九

关键词:xml

xml
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流