簡體   English   中英

連接多個表 ORACLE

[英]Joining multiple tables ORACLE

SELECT *
FROM STORE
     ,MATERIAL
     ,STOREBIN
     ,VENDOR
     ,MATERIALPRICE
     ,SD
WHERE STOREBIN.STOREBINID(+) = SD.STOREBINID
AND SD.VENDORID = VENDOR.VENDORID(+)
AND MATERIAL.MATERIALID = MATERIALPRICE.MATERIALID(+)
AND STORE.STOREID = SD.STOREID

我這里有這個簡單的查詢,但我想將 (+) 符號更改為連接,這怎么可能? 我剛在想:

RIGHT JOIN SD ON STOREBIN.STOREBINID = SD.STOREBINID
LEFT JOIN VENDOR ON VENDOR.VENDORID = SD.VENDORID
LEFT JOIN MATERIALPRICE ON MATERIALPRICE.MATERIAID = MATERIAL.MATERIALID
WHERE STORE.STOREID = SD.STOREID

但這似乎不太對,因為我需要將每個表連接到不同的表上。

這將是等效的(如果我們還添加您提到的其他條件):

FROM 
    SD 
    
    INNER JOIN STORE as S
    on S.STOREID = SD.STOREID

    INNER JOIN MATERIAL as M
    ON M.MATERIALID = SD.MATERIALID

    LEFT JOIN STOREBIN as SB
    ON SB.STOREBINID = SD.STOREBINID

    LEFT JOIN VENDOR as V
    ON V.VENDORID = SD.VENDORID

    LEFT JOIN MATERIALPRICE as MP
    ON MP.MATERIALID = M.MATERIALID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM