当前位置: 代码迷 >> Sql Server >> 求大神相助多表查询
  详细解决方案

求大神相助多表查询

热度:151   发布时间:2016-04-24 08:46:30.0
求大神帮助多表查询
请问:
有2个表,一个是全员信息表(人员编号,姓名,性别,身份证号,子女数),表中有男有女,只有女性的子女数字段是有效的,男性的话这个字段没有值,另一个表是子女表(人员编号,姓名,性别,出生日期,身份证号,母亲编号),其中子女表中的母亲标号就是全员信息表中的人员编号,理论上说子女表中的对应妇女编号的条目数应该是和子女数是一致的,但是现在有部分数据不一致。求帮助用sql语句查询出这些信息,输出信息的列为:人员编号,姓名,性别,身份证号,子女数,子女表中对应的条目数。
谢谢!

------解决思路----------------------
用全员信息表所有女性的编号去链接子女表的母亲编号,并按母亲编号分组求和,得到的母亲编号和子女总数,再和全员信息表的女性编号链接,取得子女数和你算出的子女总数不相等的记录
------解决思路----------------------

select a.人员编号,a.姓名,a.性别,a.身份证号,a.子女数,b.sl as '子女表中对应的条目数'
from 全员信息表 a ,
(
select 母亲编号,count(人员编号) as sl from 子女表
group by 母亲编号
) b 
where a.人员编号=b.母亲编号 and a.性别='女'
and a.子女数<> b.sl
  相关解决方案