有两张表,a1,a2,a3
a1有字段
x1,x2,x2
1,2,3a2有字段
y1,y2
01,02;
03,04;
05,06;
a3有字段
z1,z2,z3,z4
i1,i2,i3,i4
j1,j2,j3,j4
我要查询的结果是
x1,x2,x3,y1,y2,z1,z2,z3,z4
1, 2, 3,01,02,i1,i2,i3,i4
03,04,j1,j2,j3,j4
05,06
因为是往三张表中填写:
希望在上面空的位置不要数据,也不想被占用空行
用一条sql语句写出来,,
a1有字段
x1,x2,x2
1,2,3a2有字段
y1,y2
01,02;
03,04;
05,06;
a3有字段
z1,z2,z3,z4
i1,i2,i3,i4
j1,j2,j3,j4
我要查询的结果是
x1,x2,x3,y1,y2,z1,z2,z3,z4
1, 2, 3,01,02,i1,i2,i3,i4
03,04,j1,j2,j3,j4
05,06
因为是往三张表中填写:
希望在上面空的位置不要数据,也不想被占用空行
用一条sql语句写出来,,
have a try
select a1.*, b.* form a1 right join (select a2.*, a3.* from a2 left join a3 where a2.row_num = a3.row_num) b where a1.row_num = b.row_num
a1有字段
x1,x2,x2
1,2,3a2有字段
y1,y2
01,02;
03,04;
05,06;
a3有字段
z1,z2,z3,z4
i1,i2,i3,i4
j1,j2,j3,j4做一个rownum列,对三个表进行连接SELECT u.x1,u.x2,u.x3,u.y1,u.y2,s3.z1,s3.z2,s3.z3,s3.z4 FROM (SELECT * FROM
(SELECT @r1:=@r1+1 r1, a1.* FROM (SELECT @r1:=0) r1, a1) s1 RIGHT JOIN
(SELECT @r2:=@r2+1 r2, a2.* FROM (SELECT @r2:=0) r2, a2) s2 on
(s1.r1=s2.r2)) u RIGHT JOIN
(SELECT @r3:=@r3+1 r3, a3.* FROM (SELECT @r3:=0) r3, a3) s3 ON (u.r2=s3.r3);这样不知是否符合楼主的要求.