由于数据库的设置方式,我在从数据库中提取和计算数据方面遇到了一些问题。
每个案例都有多个客户和供应商,其中有一个主供应商。
我需要解决的主要问题如下:
能够在供应商与公司联系的几个月之间首先计算全部客户数量。
计算有多少客户进行了“初始联系”,因为有时数据库中没有初始联系人。
我试图通过在单个查询中使用多个连接来执行此操作,但这似乎不会返回完整的数据。
我对使用多个连接感到困惑,我知道它们可以按任何顺序执行,但我不确定第二个连接是在运行的,也是我可以合法地在同一查询中加入不相关的表或者如果我需要做一个单独的查询来做到这一点。
请在下面找到我的许多查询中的一个重新创建的图片:
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)
答案 0 :(得分:0)
我建议你在尝试实现两件事时,应该有两个单独的查询来实现它。