STR1:(A)ARG20K-F01~F02(B,H)(G1,G2,G3,G4)(-1,N)STR2: 10-AR50~60-N##(B,G)-(1,N,R)Z这是两个字符串现求他们的全组合的算法
救世主

解决方案 »

  1.   

    STR1:(A)ARG20K-F01~F02(B,H)(G1,G2,G3,G4)(-1,N)STR2: 10-AR50~60-N##(B,G)-(1,N,R)Z这是两个字符串现求他们的全组合的算法咋个组合法,说一下撒?
      

  2.   

    拆分成单个字母的任意组合? 如果是的话, 将其拆分出来, 做 cross join 即可
      

  3.   

    我也很难表达,真是(A)ARG20K-F01~F02(B,H)(G1,G2,G3,G4)(-1,N)() --括号里表示的是刚前位置可能出现的字等串列表, ~ -- 串1~串2,表示在范围内
      

  4.   

    (A)ARG20K-F01~F02(B,H)(G1,G2,G3,G4)(-1,N)AARG20K-F01~F02BG1-1
    AARG20K-F01~F02BG1N
    AARG20K-F01~F02BG2-1
    AARG20K-F01~F02BG2N
    AARG20K-F01~F02BG3-1
    AARG20K-F01~F02BG3N
    AARG20K-F01~F02BG4-1
    AARG20K-F01~F02BG4NAARG20K-F01~F02HG1-1
    AARG20K-F01~F02HG1N
    AARG20K-F01~F02HG2-1
    AARG20K-F01~F02HG2N
    AARG20K-F01~F02HG3-1
    AARG20K-F01~F02HG3N
    AARG20K-F01~F02HG4-1
    AARG20K-F01~F02HG4N
      

  5.   

    我是菜鸟
    能不能这样
    把每个要变得地方设成一个字段,
    每个变化项分开设一个表,最后 join 下
    table_1:
    1                     2         
    AARG20K-F01~F02       B                
    AARG20K-F01~F02       H               
    table_2:
    3
    G1
    G2
    G3
    G4
    table_3:
    4
    -1
    B
    最后 
    select * from dbo.table_1 a , dbo.table_2 b ,table_3 c
    go
    结果
    AARG20K-F01~F02                B          G1         -1        
    AARG20K-F01~F02                B          G2         -1        
    AARG20K-F01~F02                B          G3         -1        
    AARG20K-F01~F02                B          G4         -1        
    AARG20K-F01~F02                B          G1         N         
    AARG20K-F01~F02                B          G2         N         
    AARG20K-F01~F02                B          G3         N         
    AARG20K-F01~F02                B          G4         N         
    AARG20K-F01~F02                H          G1         -1        
    AARG20K-F01~F02                H          G2         -1        
    AARG20K-F01~F02                H          G3         -1        
    AARG20K-F01~F02                H          G4         -1        
    AARG20K-F01~F02                H          G1         N         
    AARG20K-F01~F02                H          G2         N         
    AARG20K-F01~F02                H          G3         N         
    AARG20K-F01~F02                H          G4         N         
    可以吗?
      

  6.   

    厄,我上面把 测试和结果都给出来了,楼主没有看明白吗?只要把每个可变的字符 的地方 写一张表最后cross join 就可以了关于笛卡儿积,举个简单例子(1,2,3)和(4,5,6)做笛卡儿积 结果就是:(1*4,1*5,1*6,2*4,2*5,2*6,3*4,3*5,3*6)不知道楼主明白没有~
      

  7.   

    怎么跟你联系呀,有MSN,或QQ吗,手机呢    lost_queen(初学后进)
      

  8.   

    ............
    [email protected]