oracle sql语句
表数据如下:
id name note
1 张三 备注一
2 李四 备注二
3 陈五 备注三
4 王六 备注四
……sql语句的结果是:id name note id2 name2 note2
1 张三 备注一 2 李四 备注二
3 陈五 备注三 4 王六 备注四
……意思就是把所有记录分两列显示,请大家帮帮忙,谢谢!
表数据如下:
id name note
1 张三 备注一
2 李四 备注二
3 陈五 备注三
4 王六 备注四
……sql语句的结果是:id name note id2 name2 note2
1 张三 备注一 2 李四 备注二
3 陈五 备注三 4 王六 备注四
……意思就是把所有记录分两列显示,请大家帮帮忙,谢谢!
where b.id=a.id+1 and mod(to_number(a.id),2)=1
order by a.id;
select a.id,a.name,a.note,b.id,b.name,b.note from table a,table b
where b.id=a.id+1 and mod(a.id,2)=1
order by a.id;
FROM (SELECT * FROM(SELECT id,name,ROWNUM AS num FROM YY_TEST)) a,
(SELECT * FROM(SELECT id,name,ROWNUM AS num FROM YY_TEST)) b
WHERE b.num=a.num+1 AND MOD(TO_NUMBER(a.num),2)=1
ORDER BY a.num;
这样当行数为偶数时没问题,当奇数时会最后一行记录不显示
select a.id,a.name,a.note,b.id,b.name,b.note from table a left join table b on b.id=a.id+1
where mod(to_number(a.id),2)=1
order by a.id;