有a表和b表 其中a表中有字段a1,a2,a3,a4 b表中有字段b1,b2,b3,b4 有个查询需求 查处a表里a1,a2字段等于b表中b1,b2的所有数据, 最后查询的结果是以这种格式显示的查询结果:
a1 a2 a3 a4 b1 b2 b3 b4
X X X X X X X X --这里数据为相等的数据(满足a表a1,a2等于b表中的b1,b2的条件)
X X X X X X X X --这里数据为相等的数据(满足a表a1,a2等于b表中的b1,b2的条件)
X X X X X X X X --这里数据为相等的数据(满足a表a1,a2等于b表中的b1,b2的条件)
X X X X null null null null --这里为a表里剩余的条件
X X X X null null null null --这里为a表里剩余的条件
X X X X null null null null --这里为a表里剩余的条件
null null null null X X X X X --这里为b表里剩余的条件
null null null null X X X X X --这里为b表里剩余的条件
null null null null X X X X X --这里为b表里剩余的条件请问大家 只用SQL查询语句 该怎么写了??? 最后显示格式要为上面那种哦!
a1 a2 a3 a4 b1 b2 b3 b4
X X X X X X X X --这里数据为相等的数据(满足a表a1,a2等于b表中的b1,b2的条件)
X X X X X X X X --这里数据为相等的数据(满足a表a1,a2等于b表中的b1,b2的条件)
X X X X X X X X --这里数据为相等的数据(满足a表a1,a2等于b表中的b1,b2的条件)
X X X X null null null null --这里为a表里剩余的条件
X X X X null null null null --这里为a表里剩余的条件
X X X X null null null null --这里为a表里剩余的条件
null null null null X X X X X --这里为b表里剩余的条件
null null null null X X X X X --这里为b表里剩余的条件
null null null null X X X X X --这里为b表里剩余的条件请问大家 只用SQL查询语句 该怎么写了??? 最后显示格式要为上面那种哦!
select a.a1,a.a2,a.a3,a.a4,b.b1,b.b2
from a full join b
on a.a1=b.b1 and a.a2=b.b2
from a,b
a1=b1(+) and a2=b2(+)
union
select a.a1,a.a2,a.a3,a.a4,b.b1,b.b2
from a,b
a1(+)=b1 and a2(+)=b2
加个
order by case when a1 is not null and b1 is not null then 1
when a1 is not null then 2 else 3 end