select * from ( select distinct * from ( select   ctm.id_ ctmId  , ctm.name_ ctmName  ,  ctr.id_  ctrId  , ctr.name_ ctrName , ctr.email_ ctrEmail , ctr.mphone_ ctrMphone , ctr.brithday_ ctrBrithday   from  contacter_ ctr inner join  customer_ ctm on ctr.fk_customer_ = ctm.id_   inner join user_ u on ctm.fk_user_ = u.id_  inner join ctm_ctg_lk_ ctmCtg on  ctmCtg.fk_ctm_ = ctm.id_ inner join ctm_ctg_ cc on  ctmCtg.fk_ctm_ctg_ = cc.id_ where ctr.brithday_ like '%-04-12' and     u.id_ in '5dfaf039298290ee0129d51355e5029e' regexp_like( ctr.mphone_ , '^((13[0-9])|(15[^4,\D])|(18[0,5-9]))\d{8}$' )  ) order by ctmId asc )where rownum <= ?
高手来帮忙看看这是怎么回事

解决方案 »

  1.   


    select *
      from (select distinct *
              from (select ctm.id_       ctmId,
                           ctm.name_     ctmName,
                           ctr.id_       ctrId,
                           ctr.name_     ctrName,
                           ctr.email_    ctrEmail,
                           ctr.mphone_   ctrMphone,
                           ctr.brithday_ ctrBrithday
                      from contacter_ ctr
                     inner join customer_ ctm
                        on ctr.fk_customer_ = ctm.id_
                     inner join user_ u
                        on ctm.fk_user_ = u.id_
                     inner join ctm_ctg_lk_ ctmCtg
                        on ctmCtg.fk_ctm_ = ctm.id_
                     inner join ctm_ctg_ cc
                        on ctmCtg.fk_ctm_ctg_ = cc.id_
                     where ctr.brithday_ like '%-04-12'
                       and u.id_ in ('5dfaf039298290ee0129d51355e5029e',
                     regexp_like(ctr.mphone_,
                                       '^((13[0-9])|(15[^4,\D])|(18[0,5-9]))\d{8}$')))
             order by ctmId asc)
     where rownum <=?少个括号了,现在的人真懒
      

  2.   


    select *
      from (select distinct *
              from (select ctm.id_       ctmId,
                           ctm.name_     ctmName,
                           ctr.id_       ctrId,
                           ctr.name_     ctrName,
                           ctr.email_    ctrEmail,
                           ctr.mphone_   ctrMphone,
                           ctr.brithday_ ctrBrithday
                      from contacter_ ctr
                     inner join customer_ ctm
                        on ctr.fk_customer_ = ctm.id_
                     inner join user_ u
                        on ctm.fk_user_ = u.id_
                     inner join ctm_ctg_lk_ ctmCtg
                        on ctmCtg.fk_ctm_ = ctm.id_
                     inner join ctm_ctg_ cc
                        on ctmCtg.fk_ctm_ctg_ = cc.id_
                     where ctr.brithday_ like '%-04-12'
                       and u.id_ in ('5dfaf039298290ee0129d51355e5029e',
                     regexp_like(ctr.mphone_,
                                       '^((13[0-9])|(15[^4,\D])|(18[0,5-9]))\d{8}$')))
             order by ctmId asc)
     where rownum <=?
      

  3.   


    select *
      from (select distinct *
              from (select ctm.id_       ctmId,
                           ctm.name_     ctmName,
                           ctr.id_       ctrId,
                           ctr.name_     ctrName,
                           ctr.email_    ctrEmail,
                           ctr.mphone_   ctrMphone,
                           ctr.brithday_ ctrBrithday
                      from contacter_ ctr
                     inner join customer_ ctm on ctr.fk_customer_ = ctm.id_
                     inner join user_ u on ctm.fk_user_ = u.id_
                     inner join ctm_ctg_lk_ ctmCtg on ctmCtg.fk_ctm_ = ctm.id_
                     inner join ctm_ctg_ cc on ctmCtg.fk_ctm_ctg_ = cc.id_
                     where ctr.brithday_ like '%-04-12'
                       and u.id_ = '5dfaf039298290ee0129d51355e5029e' --这个直接用=号
                       and regexp_like(ctr.mphone_, --前面加个and关系符
                                       '^((13[0-9])|(15[^4,\D])|(18[0,5-9]))\d{8}$'))
             order by ctmId asc)
     where rownum <= ?