//创建临时表
SELECT tab1.num,tab1.ywy,id = IDENTITY (int)
INTO #
FROM tab1 INNER JOIN tab2 ON tab1.link = tab2.link inner join tab3 on tab1.link=tab3.link where tab3.gxFlag = tab1.gxFlag
//将临时表的奇数行和偶数行一一对应组成一条语句
//例如原先是id,num,ywy,组合后变成gid,xid,gnum,xnum,gywy,xywy SELECT *
FROM (SELECT TOP 50 *
FROM (SELECT TOP 50 g.id as gid,x.id as xid, g.num AS gnum, x.num AS xnum,g.ywy as gywy,x.ywy as xywy
FROM # g LEFT OUTER JOIN
# x ON g.id + 1 = x.id
WHERE (g.id % 2 = 1)
ORDER BY xnum DESC) t1
ORDER BY xnum) t2
ORDER BY xnum DESC这么写可以偶数行和奇数行一一对应,就像这样:
id num
1 g
2 x
3 g
4 x但是我在SELECT tab1.num,tab1.ywy,id = IDENTITY (int)中加上一个tab3.summary字段,顺序就乱了,不在是1,2,3,4的顺序了
如下:
SELECT tab1.num,tab1.ywy, tab3.summary, id = IDENTITY (int)
tab3.summary是nvarchar类型,我在上面的语句中加入tab3的其他字段都不会使字段顺序变乱 为什么加入tab3.summary(tab3.summary是nvarchar类型)顺序就乱了?
SELECT tab1.num,tab1.ywy,id = IDENTITY (int)
INTO #
FROM tab1 INNER JOIN tab2 ON tab1.link = tab2.link inner join tab3 on tab1.link=tab3.link where tab3.gxFlag = tab1.gxFlag
//将临时表的奇数行和偶数行一一对应组成一条语句
//例如原先是id,num,ywy,组合后变成gid,xid,gnum,xnum,gywy,xywy SELECT *
FROM (SELECT TOP 50 *
FROM (SELECT TOP 50 g.id as gid,x.id as xid, g.num AS gnum, x.num AS xnum,g.ywy as gywy,x.ywy as xywy
FROM # g LEFT OUTER JOIN
# x ON g.id + 1 = x.id
WHERE (g.id % 2 = 1)
ORDER BY xnum DESC) t1
ORDER BY xnum) t2
ORDER BY xnum DESC这么写可以偶数行和奇数行一一对应,就像这样:
id num
1 g
2 x
3 g
4 x但是我在SELECT tab1.num,tab1.ywy,id = IDENTITY (int)中加上一个tab3.summary字段,顺序就乱了,不在是1,2,3,4的顺序了
如下:
SELECT tab1.num,tab1.ywy, tab3.summary, id = IDENTITY (int)
tab3.summary是nvarchar类型,我在上面的语句中加入tab3的其他字段都不会使字段顺序变乱 为什么加入tab3.summary(tab3.summary是nvarchar类型)顺序就乱了?
select * from #t
运行通过,不出现你所说的。