共有四张表A,B,C,D...我主要从A表中取数据,通过和B表的字段建立LEFT JOIN,从B表中取得A表数据所对应的商店CODE和商品CODE,C表是所有商店的信息,根据B表取得的CODE,在这里能或得商店名称.D表是所有的商品信息,根据B表取得的商品CODE,可以获得其名称.这个SQL文该如何写?A
----
ID(key)B
-----
ID(b.id = A.id)
商店code(b.商店code = c.商店code)
商品code(b.商品code = c.商品code)C
-----
商店code
商店名D
----
商品code
商品名

解决方案 »

  1.   

    select a.id,C.商店名,D.商品名 from a,b,c,d where a.id =(+) b.id and b.商店code = c.商店code and b.商品code = d.商品code
      

  2.   

    select tt.id,c.商店名,d.商品名
      from C c,
           D d,
           (
            select a.id,
                   b.商店code SDcode,
                   b.商品code SPcode
              from A a,B b
             where a.id = (+)b.id
           )tt
     where c.商店code = tt.SDcode
           d.商品code = tt.SPcode;