有一张分站的表 fenzhan
     id        pid      name     
     1          0      beijing
     2          1      beijinghezuoshang
     ........其中pid为0代表分站
    pid不为0代表为分站下的合作商家还有一张定单表  order
    id       username      bookid      fenzhanid
     1        guke           303          1
      .........
 
我想得到分站的定单...分站下的合作商家的定单也算是分站的请教这个sql语句应该怎么写呢?

解决方案 »

  1.   

    我想得到分站的定单...分站下的合作商家的定单也算是分站的 那就没有必要分pid 为0或者1 了。
      

  2.   

    select a.id from `order` as a, fenzhan as b where a.id = b.fenzhanid;
      

  3.   

    谢谢楼上的
    可能我没说的清楚,我的已知条件是FENZHAN的name
    如果select a.id from `order` as a, fenzhan as b where a.fenzhanid = b.id and b.name;
    这样的话应该是只算到分站的定单而合作商家的应该没算进来吧?~~
      

  4.   

    select a.id from order a, fenzhan b where (a.fenzhanid=b.id and b.name=@fenzhanname) or a.fenzhanid in (select b.id from fenzhan a, fenzhan b where a.id=b.pid and a.name=@fenzhanname)测试过,不知道行不行。
      

  5.   

    或者这样:
    select a.id from order a, fenzhan b where a.fenzhanid in 
    (select b.id from fenzhan a, fenzhan b where (a.id=b.pid and a.name=@fenzhanname) or b.name=@fenzhanname)