由于数据库的设置方式,我在从数据库中提取和计算数据时遇到了一点问题。
每个案例都有多个客户和供应商,只有一个主要供应商。
我需要克服的主要问题如下:
能够首先计算供应商加入公司时所驱动的几个月之间的全部客户数量。
计算有多少客户有过“初始联系”,因为有时数据库中没有初始联系。
我试图通过在单个查询中使用多个连接来做到这一点,但这似乎并没有返回完整的数据。
我对使用多个连接感到很困惑,我知道它们可以按任何顺序执行,但我不确定第二个连接正在运行什么,而且我可以在同一个查询中合法地加入不相关的表,或者如果我需要做一个单独的查询来做到这一点。
请在下面找到我的许多查询之一,并附有一张非常简化的图片:
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)