求大神解答 在SQL中用while循环做添加语句 做出一个回子

老师给我出个题看着我有点懵...求大神帮个忙...老师就像让我在SQLServer2008中用while循环添加出来这么个图....求大神....... 老师给我出个题 看着我有点懵... 求大神帮个忙...

老师就像让我在SQLServer 2008中 用while循环添加出来这么个图....求大神....
展开
 我来答
百度网友7558ae7
推荐于2016-08-28 · TA获得超过5797个赞
知道小有建树答主
回答量:1730
采纳率:50%
帮助的人:1701万
展开全部

我写了一个可以实现的效果,你试试

CREATE TABLE  #T (A CHAR(1),B CHAR(1),C CHAR(1),D CHAR(1),E CHAR(1),F CHAR(1),G CHAR(1),H CHAR(1),I CHAR(1),J CHAR(1),K CHAR(1),L CHAR(1),M CHAR(1))
DECLARE @NEXT INT,@NEXT2 INT
DECLARE @SQL NVARCHAR(100)
SET @NEXT=1
WHILE @NEXT<=13
BEGIN 
set @NEXT2=1
SET @SQL='INSERT INTO #T VALUES(''Z'''
while @NEXT2<=12
BEGIN
IF @NEXT IN(1,13) OR @NEXT2=12
BEGIN
SET @SQL=@SQL+',''Z'''
END
ELSE 
 IF @NEXT IN(3,11) AND @NEXT2 NOT IN(1,11)
 BEGIN
 SET @SQL=@SQL+',''Z'''
 END 
 ELSE
 IF @NEXT IN(5,9) AND @NEXT2 NOT IN(1,11,3,9) 
 BEGIN
 SET @SQL=@SQL+',''Z'''
 END 
 ELSE
 IF @NEXT2 IN(2,10) AND @NEXT NOT IN(1,2,3,11,12,13) 
 BEGIN
 SET @SQL=@SQL+',''Z'''
 END 
 ELSE
 IF @NEXT2 IN(4,8) AND @NEXT  IN(5,6,7,8,9) 
 BEGIN
 SET @SQL=@SQL+',''Z'''
 END 
 ELSE
 BEGIN
 SET @SQL=@SQL+','' '''
 END 
SET @NEXT2=@NEXT2+1
END 
SET @SQL=@SQL+')'
execute sp_executesql @SQL
SET @NEXT=@NEXT+1
END 
SELECT * FROM #T
DROP TABLE #T

 效果图:

戚爱景粟胭
2019-07-13 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:31%
帮助的人:622万
展开全部
这个不用while,用while简直是浪费资源,而且也慢,用语句就行了~
insert
into
新表
select
*
from

一句搞定,还可以自己加where条件做筛选插入~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式