http://topic.csdn.net/u/20111121/10/76af1557-dff1-4db8-8cc0-74f903562e7a.html?seed=747885920&r=76588653#r_76588653提到的算法转换成存储过程

解决方案 »

  1.   

    你是数组,SQL里没有数组,如果用字串把数据传过来处理,还不如在程序中处理来得方便.
      

  2.   

    沒數組,可用臨時表代替生成笛卡爾集,同一個臨時表用>/<判斷不重復
      

  3.   

    问题补充,数据是从数据库里的2个表里取出来的,一个表存得正数i(id,value),e(eid,evalue)存得负数,
    算法实现以后返回一个新表n(id,zuhe);zuhe为元素的nvarchar;
      

  4.   

    舉個例子給你參照
    /*
    數組#1
    ID
    1
    3
    5數組#2
    ID
    -1
    -3
    -5*/SELECT * 
    FROM #1 AS a,
    #2 AS b 
    ORDER BY 1
    /*
    ID ID
    1 -1
    1 -3
    1 -5
    3 -1
    3 -3
    3 -5
    5 -1
    5 -3
    5 -5
    */
    SELECT * 
    FROM #1 AS a,#2 AS b ,#2 AS c
    WHERE b.ID<c.ID
    ORDER BY 1
    /*
    ID ID ID
    1 -3 -1
    1 -5 -1
    1 -5 -3
    3 -5 -3
    3 -5 -1
    3 -3 -1
    5 -3 -1
    5 -5 -1
    5 -5 -3
    */SELECT * 
    FROM #1 AS a,#2 AS b ,#2 AS c,#2 AS d
    WHERE b.ID<c.ID AND c.ID<d.ID
    ORDER BY 1
    /*
    ID ID ID ID
    1 -5 -3 -1
    3 -5 -3 -1
    5 -5 -3 -1
    */
      

  5.   

    取負數排前面,正數取2位和3位SELECT * 
    FROM #2 AS a,#1 AS b ,#1 AS c
    WHERE b.ID<c.ID
    ORDER BY 1
    /*
    ID ID ID
    -5 1 3
    -5 1 5
    -5 3 5
    -3 1 5
    -3 3 5
    -3 1 3
    -1 1 3
    -1 1 5
    -1 3 5
    */SELECT * 
    FROM #2 AS a,#1 AS b ,#1 AS c,#1 AS d
    WHERE b.ID<c.ID AND c.ID<d.ID
    ORDER BY 1
    /*
    ID ID ID ID
    -5 1 3 5
    -3 1 3 5
    -1 1 3 5
    */