簡體   English   中英

如何連接具有多個相關列的兩個表?

[英]How do I join two tables with multiple related columns?

我想我是在問一個正確的問題,但是讓我向您展示我的代碼,然后再拒絕投票:

SELECT  co_ship.ship_date,
        co_ship.co_num,
        co.whse,
        co_ship.qty_shipped * co_ship.price,
        co_ship.price,
        co_ship.qty_shipped,
        co.cust_num

FROM    coitem, co_ship, co 

WHERE   co.co_num = coitem.co_num AND coitem.co_release = co_ship.co_release AND coitem.co_line = co_ship.co_line AND coitem.co_num = co_ship.co_num

我正在嘗試做的是擺脫WHERE語句,並用JOIN替換它。 (是的,我意識到我的代碼可能非常錯誤),這是我正在嘗試的內容:

SELECT  co_ship.ship_date,
    co_ship.co_num,
    co.whse,
    co_ship.qty_shipped * co_ship.price,
    co_ship.price,
    co_ship.qty_shipped,
    co.cust_num

FROM    coitem, co_ship, co 

JOIN    co
ON      coitem.co_num = co.co_num 

JOIN    coitem
ON      co_ship.co_release=coitem.co_release AND co_ship.coline=coitem.co_line AND co_ship.co_num=co_item.co_num  

但是,這不起作用。 我收到此錯誤:“ FROM子句中的對象“ co”和“ co”具有相同的公開名稱。使用相關名稱來區分它們。”

我不完全確定如何解決它。

當使用顯式連接語法時,您不希望有多個項作為源。 其余的應該出現在聯接中(因此from table1, table2, ...

您的加入最有可能看起來像這樣:

FROM    coitem
JOIN    co_ship 
    ON coitem.co_release = co_ship.co_release 
   AND coitem.co_line    = co_ship.co_line 
   AND coitem.co_num     = co_ship.co_num
JOIN    co ON co.co_num = coitem.co_num 

因此從from子句中刪除co_shipco

暫無
暫無

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

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