0

由于数据库的设置方式,我在从数据库中提取和计算数据时遇到了一点问题。

每个案例都有多个客户和供应商,只有一个主要供应商。

我需要克服的主要问题如下:

  1. 能够首先计算供应商加入公司时所驱动的几个月之间的全部客户数量。

  2. 计算有多少客户有过“初始联系”,因为有时数据库中没有初始联系。

我试图通过在单个查询中使用多个连接来做到这一点,但这似乎并没有返回完整的数据。

我对使用多个连接感到很困惑,我知道它们可以按任何顺序执行,但我不确定第二个连接正在运行什么,而且我可以在同一个查询中合法地加入不相关的表,或者如果我需要做一个单独的查询来做到这一点。

请在下面找到我的许多查询之一,并附有一张非常简化的图片:

SELECT Count(cc.customercase)
FROM   customer cc
       LEFT JOIN customer
              ON cc.custid = c.custid
       LEFT JOIN maincase m
              ON m.id = cc.caseid
       LEFT JOIN custcontactlog cl
              ON cl.caseid = cc.custcaseid
       LEFT JOIN supcase sc
              ON sc.caseid = m.id
WHERE  cl.contactlogtype = 'Initial Contact'
       AND sc.primarysupplyer = 1
       AND Calctargetdate(sc.joindate) > cl.postdate
       AND cl.postdate > sc.joindate
       AND c.gender = 'M'
       AND sc.joindate BETWEEN CONVERT(DATETIME, '01/01/2012', 103) AND
                               CONVERT(DATETIME, '31/03/2012', 103)  

http://i50.tinypic.com/2qk3pqa.png

4

1 回答 1

0

我会建议,当您尝试实现两件事时,您应该有两个单独的查询来实现它。

于 2012-06-22T12:28:45.250 回答