有这样的一个SQL文:SELECT A.情報CD     AS 情報CD,
       A.情報名     AS 区分,
       B.時期       AS 時期,
       B.品目CD AS 品目CD,
       C.用量     AS 用量
  FROM M_SHU A, MS_SEHI B, C_HI C
 WHERE B.番号(+) = '10000300200600'
   AND B.品種CD(+) = '1000030020060001'
   AND B.TYPECD(+) = '1000030020060001'
   AND A.種別CD = 'HIRYO_KBN'
   AND B.区分(+) = A.情報CD
   AND A.情報CD LIKE '10000300200600%'
   AND C.料CD(+) = B.品目CD
 ORDER BY A.情報CD这个SQL文如果写成LEFT/RIGHT JOIN ...ON的形式
该怎么改~?
特别是这个" WHERE B.番号(+) = '10000300200600'
   AND B.品種CD(+) = '1000030020060001'
   AND B.TYPECD(+) = '1000030020060001'"
要怎么改~?

解决方案 »

  1.   

    SELECT A.情報CD     AS 情報CD,
           A.情報名     AS 区分,
           B.時期       AS 時期,
           B.品目CD AS 品目CD,
           C.用量     AS 用量
    FROM M_SHU A, 
    left join MS_SEHI B on B.区分(+) = A.情報CD and B.番号(+) = '10000300200600' and B.品種CD(+) = '1000030020060001' and B.TYPECD(+) = '1000030020060001' 
    left join C_HI C on C.料CD(+) = B.品目CD
    WHERE 
    A.種別CD = 'HIRYO_KBN'
    AND A.情報CD LIKE '10000300200600%'
    ORDER BY A.情報CD
      

  2.   

    好像這種跟left right join結果不同的吧,
    要說改成inner join 還可以說說...
      

  3.   

    SELECT A.情報CD     AS 情報CD,
           A.情報名     AS 区分,
           B.時期       AS 時期,
           B.品目CD AS 品目CD,
           C.用量     AS 用量
      FROM M_SHU A 
    right join 
      MS_SEHI B
    on
     B.番号 = '10000300200600'
       AND B.品種CD = '1000030020060001'
       AND B.TYPECD = '1000030020060001'
       AND B.区分 = A.情報CD
    right join 
     C_HI C
    on
       AND C.料CD = B.品目CD
     WHERE 
       A.種別CD = 'HIRYO_KBN'
       AND A.情報CD LIKE '10000300200600%'
     ORDER BY A.情報CD
      

  4.   

    上面错了SELECT 
           A.情報CD     AS 情報CD,
           A.情報名     AS 区分,
           B.時期       AS 時期,
           B.品目CD AS 品目CD,
           C.用量     AS 用量
    FROM 
           M_SHU A 
    left join 
           MS_SEHI B
    on
           B.番号 = '10000300200600'
           AND B.品種CD = '1000030020060001'
           AND B.TYPECD = '1000030020060001'
           AND B.区分 = A.情報CD
    left join 
           C_HI C
    on
           C.料CD = B.品目CD
    WHERE 
           A.種別CD = 'HIRYO_KBN'
           AND A.情報CD LIKE '10000300200600%'
    ORDER BY 
           A.情報CD
      

  5.   

    但是在MS-SQL Server里(+)不能用啊~
      

  6.   

    谢谢各位
    根据rea1gz(冒牌realgz V0.3)的SQL成功了
    谢谢