2016-11-22 15 views
-1

ARMASTER =客戶信息 ORDERHEAD =銷售訂單信息(艦,法案)的Oracle SQL返回計數在同一個表

大家好!我對SQL仍然很陌生,我相信我很快就會採用它。我已經在這幾個小時的時間裏對此大驚小怪,並且在辦公室附近詢問,似乎沒有人能夠找到解決方案。

我試圖確定一個客戶帳戶已被用作船舶的位置& BILL TO位置。

SELECT ARMASTER.CUSTOMER, 
    ARMASTER.DIVISION, 
    ARMASTER.STATUS, 
    ARMASTER.CUHEAD AS "MASTER", 
    COUNT (ORDERHEAD.BILLTO) AS "COUNT_BILL", 
    COUNT (ORDERHEAD.SHIPTO) AS "COUNT_SHIP" 

FROM ARMASTER 

LEFT OUTER JOIN ORDERHEAD 
ON ARMASTER.CUSTOMER = ORDERHEAD.BILLTO 
LEFT OUTER JOIN ORDERHEAD 
ON ARMASTER.CUSTOMER = ORDERHEAD.SHIPTO 

GROUP BY ARMASTER.CUSTOMER, 
     ARMASTER.DIVISION, 
     ARMASTER.STATUS, 
     ARMASTER.CUHEAD 

而且我甚至沒有得到我應該得到的東西。但是,當我刪除我的一個連接時,count對於其中一個或另一個應該是正確的。

任何指導將非常感激!謝謝!

+0

'而且我也不remotley得到什麼我應該getting' ...但你想說什麼?你能否至少向我們展示一些樣本數據? –

+0

謝謝蒂姆,我一定會從一開始就把例子放入我的問題中。作爲一個文件或在窗口內更容易嗎? –

+0

只需顯示兩個表格中的每一個的一些示例記錄以及您的預期輸出。 –

回答

0

我認爲它也可以工作

SELECT CUSTOMER, 
     DIVISION, 
     STATUS, 
     CUHEAD AS "MASTER", 
     (SELECT COUNT(1) FROM ORDERHEAD WHERE SHIPTO = ARMASTER.CUSTOMER) AS "COUNT_BILL", 
     (SELECT COUNT(1) FROM ORDERHEAD WHERE BILLTO = ARMASTER.CUSTOMER) AS "COUNT_SHIP" 
FROM ARMASTER 
+0

豪爾赫這是砰的一聲,做了詭計!感謝您的幫助!並感謝社區回來這麼快! –