我这里有一张表,表里有源和宿两部分相对称的列,我现在需要统计源和宿某几列用到的相同的值和其个数。我目前的实现是先把源的列查出来union宿的列,再跟据查询出来的列group by分组。这种做法需要用到临时表,性能不高,求大神指导下如何优化下这种sql

解决方案 »

  1.   

       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
      

  2.   


    直接关联呗:select *
    from 源 a
    inner join 宿 b
    on a.xx = b.xx and a.yy = b.yy这个xx,yy,就是你说的那几个要比较是否相同的字段