一条SQL生成9*9乘法表

浏览: 1914

MySQL语法:

SELECT
  CASE  WHEN  a < 1 THEN '' ELSE  CONCAT('1*',a,'=',a*1) END   AS   '1',
  CASE  WHEN  a < 2 THEN '' ELSE  CONCAT('2*',a,'=',a*2) END   AS   '2',
  CASE  WHEN  a < 3 THEN '' ELSE  CONCAT('3*',a,'=',a*3) END   AS   '3',
  CASE  WHEN  a < 4 THEN '' ELSE  CONCAT('4*',a,'=',a*4) END  AS   '4',
  CASE  WHEN  a < 5 THEN '' ELSE  CONCAT('5*',a,'=',a*5) END   AS   '5',
  CASE  WHEN  a < 6 THEN '' ELSE  CONCAT('6*',a,'=',a*6) END   AS   '6',
  CASE  WHEN  a < 7 THEN '' ELSE  CONCAT('7*',a,'=',a*7) END  AS   '7',
  CASE  WHEN  a < 8 THEN '' ELSE  CONCAT('8*',a,'=',a*8) END   AS   '8',
  CASE  WHEN  a < 9 THEN '' ELSE  CONCAT('9*',a,'=',a*9) END   AS   '9'
  FROM   (  
  SELECT   1   AS   a  
  UNION   ALL  
  SELECT   2  
  UNION ALL
  SELECT   3
  UNION   ALL  
  SELECT   4  
  UNION ALL 
  SELECT   5
  UNION   ALL  
  SELECT   6  
  UNION ALL
  SELECT   7
  UNION   ALL  
  SELECT   8  
  UNION ALL 
  SELECT 9
  )   AS   t1

 

Oracle语法:

SELECT
  CASE  WHEN  a < 1 THEN '' ELSE  '1*'||a||'='||a*1 END   AS  "1",
  CASE  WHEN  a < 2 THEN '' ELSE  '2*'||a||'='||a*2 END   AS  "2",
  CASE  WHEN  a < 3 THEN '' ELSE  '3*'||a||'='||a*3 END   AS  "3",
  CASE  WHEN  a < 4 THEN '' ELSE  '4*'||a||'='||a*4 END  AS   "4",
  CASE  WHEN  a < 5 THEN '' ELSE  '5*'||a||'='||a*5 END   AS  "5",
  CASE  WHEN  a < 6 THEN '' ELSE  '6*'||a||'='||a*6 END   AS  "6",
  CASE  WHEN  a < 7 THEN '' ELSE  '7*'||a||'='||a*7 END  AS   "7",
  CASE  WHEN  a < 8 THEN '' ELSE  '8*'||a||'='||a*8 END   AS  "8",
  CASE  WHEN  a < 9 THEN '' ELSE  '9*'||a||'='||a*9 END   AS  "9"
  FROM   (  
  SELECT LEVEL a FROM DUAL connect BY LEVEL<10
  )

推荐 0
本文由 风在身后 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册