我很难在互联网上搜索这个,所以想我会在这里问 T-SQL 问题。我有一张叫 CUST 的桌子。CUST 包含客户输入日期、姓名、公司、地址、电子邮件等。我写了一个简单的查询来根据 entrydate 查找新客户;
Select * from CUST WHERE ENTRYDATE between '2012-08-01' and '2012-08-30'
这很好用,除了我发现了一个问题。当我们的网上商店创建新订单时,如果客户详细信息不完全匹配,则会创建一个新客户。在这种情况下,如果我有多个 cust.firstname + cust.lastname + cust.company,我想获取我的原始结果,并修剪结果集。我可以在单独的查询中编写这些,只是不确定如何在单个 sql 脚本中执行此操作。
我考虑过将名称连接回表,虽然连接没有错误,但我不知道如何计算出现次数,我正在考虑计算客户数量。
我的加入看起来像这样(剥离了分组依据和列选择以使其更易于阅读;
from CUST
Right Outer Join
(
select *
from CUST
WHERE ENTRYDATE between '2012-08-01' and '2012-08-30'
AND LTRIM(RTRIM(Firstname + Lastname + Company)) <> ''
Group By *
) as newcs
on LTRIM(RTRIM(CUST.Firstname + CUST.Lastname + CUST.Company)) = LTRIM(RTRIM(newcs.Firstname + newcs.Lastname + newcs.Company))
有什么建议么?