两个表联合查询后满足条件的结果输出到csv文件

1 两个oracle表 A B.

A 有字段AO, LI, ....共八个类似字段及CC,十几条记录,上图

B有字段 AO,LI,结果...一万多条记录, 结果字段只有 y和 n 两种值,下图

2 从表A中循环取出AO LI等8个字段的每个值去表B中和对应的AO LI等分别比较,如果有完全一样的值,统计结果分别为y和n的数量, 如果满足条件y>2*n (条件可调), 输出这条记录,包括A.CC(纵坐标), A.(满足条件的记录,比如字段AO中的一条记录),Y的数量,N的数量 (后三加上其他七个字段是横坐标) 到CSV文件 微信153-4006-9140


这个功能sql server 有啊...直接写完查询语句 导出不就行了..
你这个业务...多到我害怕..

表在oracle,要存储过程或其他语言自动做

这是学校作业

select A.*,B.y_num,B.n_num 

from 

(

select AO,LI,y_num,n_num from 

(

select A.AO,A.LI,

sum(case when B.结果='y' then 1 else 0 end) as y_num ,

sum(case when B.结果='y' then 1 else 0 end) as n_num 

from A inner join B on A.AO=B.AO and A.LI=B.LI 

group by A.AO,A.LI 

) aa where y_num>2*n_num

) aaa

inner join A 

on aaa.AO=A.AO and aaa.LI=A.LI 


自动导出excel是导出到服务器上的,如果你想自动导出到客户端,建议使用java或者python写个小程序,读取结果直接写到csv文件里面更方便

感谢 我用一个存储过程,游标遍历一个表的值取出来和另一个表做个联合查询,没几句,文件还没做,先打印出来了。