select * from  ou,ss,oc, tc 
where (ou.ServiceID=ss.id and oc.ColumnID=tc.COLUMNID and ou.Mobile=oc.Mobile )or(ou.ServiceID=ss.id )
以上是查询出ou表中的所有记录
现在的问题是如果有不同的查询条件,如何和上面的sql语句拼接到一起
如:查询Mobile=123456789的记录

解决方案 »

  1.   

    select * from ou,ss,oc, tc
    where ((ou.ServiceID=ss.id and oc.ColumnID=tc.COLUMNID and ou.Mobile=oc.Mobile )or(ou.ServiceID=ss.id ))
    and ou.Mobile=123456789
      

  2.   

    ou表中的字段:serid,mobile,
    oc表中的字段:columnid
    ss表中的字段:serid,sername
    tc表中的字段:columnid,columname
    根据ou表中的mobile查询oc表中的columnid(可能有多个)
    查询结果显示:sername,columname
    该如何实现呢,我实现了查询的次数太多,效率很低
      

  3.   

    select * from  ou,ss,oc, tc 
    where (ou.ServiceID=ss.id and oc.ColumnID=tc.COLUMNID and ou.Mobile=oc.Mobile )or(ou.ServiceID=ss.id )
    上边这条语句是不是不能实现,请高手指点