mssql多表查询时产生重复记录怎么办?
由于表结构的字段比较多,下面简写一下。
base表(基本信息):
perid name sex
1 张三 男
2 李四 女
3 王五 男
info表(学历信息):
perid edu xueli
1 湖南大学 本科
2 江西大学 专科
3 四川大学 硕士
work表(工作经历):
perid company memo
1 xx贸易公司 负责销售相关业务
1 xx技术公司 负责技术电子相关业务
1 xx电气公司 负责电气相关业务
2 xx电气公司 负责电气相关业务
3 xx电气公司 负责电气相关业务
1 xx电子公司 负责电子相关业务
查询目的:
查询所有work表中包含“电气”字样的所有perid,base表中姓名和info表中的学历都要列出来
SQL语句:
SQL = "Select b.Perid,b.Name,B.Sex,I.Edu,I.xueli,w.company,w.memo From (Base as b left join Info as i on i.perid=b.perid) left join work as w on i.perid=w.perid Where Len(I.Name)>0 And w.Memo Like '%"&Key&"%'
sql查询结果:
通过输入关键字“电气”查询工作经历中包含"电气"的结果如下:
perid name sex edu xueli
1 张三 男 湖南大学 本科
1 张三 男 湖南大学 本科
1 张三 男 湖南大学 本科
2 李四 女 江西大学 专科
3 王五 男 四川大学 硕士
出现症状:
张三出现3条记录,由于张三在work表中有在3家公司工作过因此出现3要记录,如果在4家公司工作此处显示4条。
寻求解决方案:
我的sql语句哪个地方不对?请高手们帮帮小女子,不胜感激。