其实只要这样就可以了,类似这样,你要换得对哦INSERT INTO F
SELECT 字段 FROM(
SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE())RN,1 TBorder FROM 表A
UNION ALL
SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),2 FROM 表B
UNION ALL
SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),2 FROM 表C
UNION ALL
SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),2 FROM 表D
UNION ALL
SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),2 FROM 表E
)T
ORDER BY RN,TBorder有什么需要要调整的贴上来的

解决方案 »

  1.   

    INSERT INTO F
    SELECT 字段 FROM(
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE())RN,1 TBorder FROM 表A
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),2 FROM 表B
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),3 FROM 表C
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),4 FROM 表D
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),5 FROM 表E
    )T
    ORDER BY RN,TBorder之前没弄好,最后面那个1 2 3 4要按顺序下去,有几个表就弄到几
      

  2.   

    有QQ么 加个QQ 询问下SQL技术
      

  3.   

    呃,涨姿势了,还有这一上限~~在微软官方一些地方没查到INSERT INTO #TEMP--临时表
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE())RN,1 TBorder FROM 表A
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),2 FROM 表B
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),3 FROM 表C
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),4 FROM 表D
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),5 FROM 表E
    --将数据按TBorder累加添加到临时表
        
    --以上重复执行完后,再将临时表的数据按顺序加到F表里
    INSERT INTO F
    SELECT 字段 FROM #TEMP--临时表
    ORDER BY RN,TBorder
      

  4.   

        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE())RN,1 TBorder FROM 表A
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),2 FROM 表B
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),3 FROM 表C
        ORDER BY RN,TBorder
    这样数据就完整了 如果整体加个SELECT 就会像一开始提示256 超过表限制按照你的添加到临时表

    INSERT INTO F
    SELECT 字段 FROM #TEMP--临时表
    ORDER BY RN,TBorder
    大数据依然会有问题
      

  5.   

    不明白你大数据是怎么个意思你上面的语句没明白我的意思INSERT INTO #TEMP--临时表
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE())RN,1 TBorder FROM 表A
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),2 FROM 表B
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),3 FROM 表C
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),4 FROM 表D
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),5 FROM 表E
        --....
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),256 FROM 表E
    --将数据按TBorder累加添加到临时表
    --到256再写一个
    INSERT INTO #TEMP--临时表
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE())RN,257 TBorder FROM 表A
    --如果你的这些表有规则,可以动态执行~
         
    --以上重复执行完后,再将临时表的数据按顺序加到F表里
    INSERT INTO F
    SELECT 字段 FROM #TEMP--临时表
    ORDER BY RN,TBorder
      

  6.   

        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE())RN,1 TBorder FROM 表A
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),2 FROM 表B
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),3 FROM 表C
        ORDER BY RN,TBorder
    这样数值正确
        insert into temp
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE())RN,1 TBorder FROM 表A
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),2 FROM 表B
        UNION ALL
        SELECT 字段,ROW_NUMBER()OVER(ORDER BY GETDATE()),3 FROM 表C
      
    跟直接查询的数据放到TEMP里数据是正确的
    在一单独查数据就不行
    SELECT 字段 FROM #TEMP--临时表
    ORDER BY RN,TBorder
    很奇怪
      

  7.   

    真不用QQ很久了,原因N多~~
    保存到临时表时,RN,TBorder也要保存起来