to  awaysrain:
   不是这样,我要的是查出table2.Province中同时”广东“和”北京“的记录的id号,和logid号to  anybody999:
    不行,记录不对

解决方案 »

  1.   

    这个有点象公交车的路线查询,假如查询路的经过点就只是输入Province1的变量,假如是要查询出开始点——》终点就把Province2也选上,所以就需要该查询语句。
    假如是经过点有很容易实现,因为它是一对一关系,而开始点——》终点就需要两个经过点都存在,怎么实现???
      

  2.   

    select a.id id,a.login_id login_id,count(a.id ) n from table1 a,table2 b where
    a.login_id=b.login_id and (b.Province='广东' and b.Province='广州') group by a.id,a.login_id 
    ???
    你把你的要求说清楚了,比如你的记录的id号,和logid号都是哪个表的啊?
      

  3.   

    to  awaysrain:
    不好意思,是table1的id和login_id,
    select a.id id,a.login_id login_id,count(a.id ) n from table1 a,table2 b where
    a.login_id=b.login_id and (b.Province='广东' and b.Province='广州') group by a.id,a.login_id 
    不行,(b.Province='广东' and b.Province='广州')发生矛盾,你不可能让同一个字段有两个值在同一条记录上
      

  4.   

    select a.id id,a.login_id login_id,count(a.id ) n from table1 a,table2 b where
    a.login_id=b.login_id and (b.Province='广东' or b.Province='广州')
    可以查出经过点的数据,但不能查出两个点都经过的确切数据!
    如果mysql可以支持子查询的话就很容易了
      

  5.   

    我想了另外的一种方法,先分开查询,再用array_insterset($a1,$a2)取出他的交集,不过这个效率很差,等待好的处理方法~~~