比如有个列表字段为:序号、名称、数量。如果直接打印不美观,希望能改成:序号、名称、数量、序号、名称、数量。这样多栏的打印,两栏之间的记录数要尽量相等,最多相差为1。

解决方案 »

  1.   

    这个不用SQL来控制的啊,在前台想想办法啊。
      

  2.   

    序号连续吧,最好从1开始select a.*,b.序号 as 序号1,b.名称 as 名称1,b.数量 as 数量1
    from tablename a,tablename b
    where b.序号=a.序号+1
    and (a.序号 %2)=1
      

  3.   

    这个一般在上层进行处理,如果要用SQL:
    select id=identity(int,1,1),* into #aa from tb
    select a.序号,a.名称,a.数量,b.序号,b.名称,b.数量 from #aa a left join #aa b on a.id=b.id-1
    where a.id%2=1
      

  4.   

    我也觉得这个开发软件的问题,不是SQL的问题.
      

  5.   

    wzh1215(懒猫)  的方法好我的考虑不周
    应该改为select a.*,b.序号 as 序号1,b.名称 as 名称1,b.数量 as 数量1
    from tablename a left join tablename b
    on b.序号=a.序号+1
    where (a.序号 %2)=1
      

  6.   

    ^_^多谢夸奖,Yang_(扬帆破浪) 很谦虚,值得我学习!