select * from client 
where clientid in (select clientid from sale where paystate='已付'
     and dogid in (select dogid from dog where @fieldname=1) )

解决方案 »

  1.   

    其实我觉得你的写法可以改改:
    select client.* 
    from client join sale on client.clientid=sale.clientid
         join dog on sale.dogid=dog.dogid
    where sale.paystate='已付' and dog.@fieldname=1
      

  2.   

    谢谢!
     icevi(按钮工厂) :这两种写法的结果是一样吧!第二种写法更易看,易懂吧!给分!
      

  3.   

    第二种写法有一点错误,是否要改为赋值语句写呢?dog.@fieldname不会被承认啊。谢谢,给分