Subquery returns more than 1 row

eg:
	
				SELECT  taxpayer_flag,org_num 
				from b org
				where org.taxpayer_flag != (
SELECT taxpayer_flag 
from a info 
where org.org_num = info.org_num 
);在a表中存在冗余数据,就是在where条件的对应关系中存在一对多的关系,
解决方式:
1.可以使用 limit 或者从业务插入中去除1对多的数据影响
2.在where子查询中对应关系中的数据换成数据1对1 的
3.优化子查询sql使得查询出来的结果只有1条,符合逻辑
eg:
	SELECT  taxpayer_flag,org_num 
				from s org
				where org.taxpayer_flag != (
				SELECT taxpayer_flag 
				from b info 
				where org.org_num = info.org_num 
				ORDER BY id desc 
				limit 1 );本文来自博客园,作者:diligently,转载请注明原文链接:https://www.cnblogs.com/luo12828-foxmail/p/16964005.html
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号