2016-11-22 14 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

豪尔赫这是砰的一声,做了诡计!感谢您的帮助!并感谢社区回来这么快! –