网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:DB2中通用的存储过程分页程序 下一篇:SQLSERVER管理员必备DBCC命令
用T-SQL实现26选7的几种算法

来源:本站原创 作者: 添加日期:2007-11-29 6:27:30 点击次数:

        end 
        select  @two=@two+1 
    end 
select  @one=@one+1 
end

实现方法二:

CREATE FUNCTION SelectNFromM (@N INT, @M INT)
RETURNS @Temp TABLE (Value NVARCHAR(50),
         MaxIndex INT)
AS
BEGIN
    DECLARE @IndexTemp TABLE ([Index] INT)

    DECLARE @INDEX INT

    SET @INDEX = 0
    WHILE (@INDEX < @M)
    BEGIN
        INSERT @IndexTemp VALUES (@INDEX)
        SET @INDEX = @INDEX + 1
    END

    IF (@N = 1)
    BEGIN
        INSERT @Temp SELECT [Index], [Index] FROM @IndexTemp
    END
    ELSE
    BEGIN
        SET @INDEX = @N - 1;
        INSERT @Temp SELECT a.Value + ' ' + CONVERT(NVARCHAR(50), b.[Index]), b.[Index] FROM SelectNFromM(@INDEX, @M) AS a, @IndexTemp b WHERE b.[Index] > a.MaxIndex
    END

    RETURN
END
GO
SELECT Value FROM SelectNFromM (7, 26)

实现方法三:

create table t (n smallint)

insert t select distinct colid-1 from syscolumns where colid<=26

select t1.n,t2.n,t3.n,t4.n,t5.n,t6.n,t7.n
from t t1,t t2,t t3,t t4,t t5,t t6,t t7
where t1.n<20 and t1.n<t2.n
  and t2.n<21 and t2.n<t3.n
  and t3.n<22 and t3.n<t4.n
  and t4.n<23 and t4.n<t5.n
  and t5.n<24 and t5.n<t6.n
  and t6.n<25 and t6.n<t7.n

本新闻共2页,当前在第2页  1  2  

 
设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |