select * from table1 as A 
left join table2 as B on A.id = B.id 
left join table3 as C on A.id2 = C.id2

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/2621/2621799.xml?temp=.1381037
    是不是这样的问题
      

  2.   

    select * from table1 as A 
    right join table2 as B on A.id = B.id 
    right join table3 as C on A.id2 = C.id2--右外连接
    -----------------------------------------
    select * from table1 as A 
    full  join table2 as B on A.id = B.id 
    full join table3 as C on A.id2 = C.id2 全外连接
      

  3.   

    不是啊~  现在的情况是 有三个表,分别是进仓表,出仓表,和期初库存表,他们各自都有‘产品编号’、‘批号’‘件数’三个字段。想生成这样的表  产品编号, 
      批号, 
      期初库存.件数 as 期初件数,
      进仓.件数 as 进仓件数, 
      出仓.件数 as 出仓件数,
      期初库存.件数+进仓.件数-出仓.件数 as 期末件数  这就需要将三个表通过产品编号,批号两两“全”连接,只要任一表存在记录,都要出现在新表中,如何实现?
      

  4.   

    HAVE A TRY:
    SELECT   
    产品编号, 
      批号, 
      期初库存.件数 as 期初件数,
      进仓.件数 as 进仓件数, 
      出仓.件数 as 出仓件数,
      期初库存.件数+进仓.件数-出仓.件数 as 期末件数
     FROM 进仓表 I FULL JOIN 出仓表 O ON I.产品编号=O.产品编号 AND I.批号=O.批号
     FULL JOIN 期初库存表 T ON I.产品编号=T.产品编号 AND I.批号=T.批号
      

  5.   

    那先生成视图
    select distinct 产品编号,批号 
    (
    select  产品编号,批号 from union all
    进仓表
    select  产品编号,批号 from union all
    出仓表
    select  产品编号,批号 from union all
    和期初库存表)
    去left oute join 另外三张表
      

  6.   

    To  realgz
      对于产品编号和批号可以用COALESCE函数取三个表的一个值To welyngj
       我试过,但总出现有一个表的记录不能包含新表其中。具体忘了是哪个表
      

  7.   

    SELECT
    A.PRID,
    A.PIID,
    0 + (CASE WHEN B.PCOUNT > 0 THEN B.PCOUNT ELSE 0 END) + (CASE WHEN C.PCOUNT > 0 THEN C.PCOUNT ELSE 0 END) - (CASE WHEN D.PCOUNT > 0 THEN D.PCOUNT ELSE 0 END) PCOUNT
    FROM
    (
    SELECT
    PRID,
    PIID
    FROM
    WH
    UNION
    SELECT 
    PRID,
    PIID
    FROM
    WIN
    UNION

    SELECT
    PRID,
    PIID
    FROM
    WOUT
    ) AS A
    LEFT JOIN
    WH B
    ON A.PRID = B.PRID
    AND A.PIID = B.PIID
    LEFT JOIN
    WIN C
    ON A.PRID = C.PRID
    AND A.PIID = C.PIID
    LEFT JOIN
    WOUT D
    ON A.PRID = D.PRID
    AND A.PIID = D.PIID
      

  8.   

    忘了简短说明一下
    表结构
    在库WH,出库WOUT,入库WIN都一样
    PRID产品编号
    PIID产品批号
    PCOUNT个数
      

  9.   

    对了,忘了union 直接消除重复 :D
      

  10.   

    同意realgzselect 产品编号,批号 
    from 
    (
    select  产品编号,批号 from union
    进仓表
    select  产品编号,批号 from union
    出仓表
    select  产品编号,批号 from union
    期初库存表
    ) aa
    left join ...另外三张表