表结构非常复杂,项目多,我大致抽象一下吧
tbl_a
fld_aid (流水号)
fld_aname (姓名)
fld_aidno (身份证号)
fld_aaddress (地址)
fld_apostcode (邮政编码)
fld_aemail (电子邮件)tbl_b
fld_bid (流水号)
fld_bstart (开始日期)
fld_bend (结束日期)
fld_bschool (学校名称)
fld_bspecialty (专业名称)
fld_bbelongidno (所属身份证号)tbl_c
fld_cid (流水号)
fld_cname (公司名称)
fld_cposi (职位)
fld_cbelongidno (所属身份证号)还有些表就类似b表和c表
就是对应a的每条记录,b,c,d,e表中可能有(0---n)条记录属于该记录
结构大概就是这样的
tbl_a
fld_aid (流水号)
fld_aname (姓名)
fld_aidno (身份证号)
fld_aaddress (地址)
fld_apostcode (邮政编码)
fld_aemail (电子邮件)tbl_b
fld_bid (流水号)
fld_bstart (开始日期)
fld_bend (结束日期)
fld_bschool (学校名称)
fld_bspecialty (专业名称)
fld_bbelongidno (所属身份证号)tbl_c
fld_cid (流水号)
fld_cname (公司名称)
fld_cposi (职位)
fld_cbelongidno (所属身份证号)还有些表就类似b表和c表
就是对应a的每条记录,b,c,d,e表中可能有(0---n)条记录属于该记录
结构大概就是这样的
WHERE a.1 =x
AND b.2 = y
AND c.3 =z;
and 条件2 and 条件3
用别名
模拟数据
表a中记录:
fld_aid =1
fld_aname =xxx
fld_aidno =001
fld_aaddress abc
fld_apostcode 999
fld_aemail [email protected]_b
fld_bid =1
fld_bstart =2000-01-01
fld_bend =2002-01-01
fld_bschool =xxx
fld_bspecialty =yyy
fld_bbelongidno =001fld_bid =2
fld_bstart =2003-01-01
fld_bend =2004-01-01
fld_bschool =xyy
fld_bspecialty =yyy
fld_bbelongidno =001-----------------------------------------------------------------------------------------
这样的话,我用:
select tbl_a.*,tbl_b.* from tbl_a,tbl_b where tbl_a.fld_aidno=tbl_b.fld_bbelongidno and tbl_b.fld_bschool like '%x%'查出来的是两条记录,但是都是idno=001的人的记录,如果我只要显示idno的话能不能让相同的idno只显示一条呢?
我用distinct好象也没有效果
就是我这样写:
select distinct tbl_a.fld_aidno where tbl_a.fld_aidno=tbl_b.fld_bbelongidno and tbl_b.fld_bschool like '%x%'
还是显示两条相同的idno
碰到这种情况怎么办呢?