我有一个大表,其中包含多行,这些行代表了已经注册了多年计划的客户。客户可能已经注册了一个供应商提供的一个程序,然后又注册了另一个供应商提供的另一个程序,然后又注册了同一供应商或另一个供应商提供的另一个程序。
我正在尝试选择仅显示客户最近注册的行,前提是该行中的供应商是特定值。换句话说,如果他们最近的注册是在供应商X上,我想显示有关客户A的数据。如果他们以前注册的是供应商X,但是我最近的注册不是在供应商x上,我不想显示有关客户A的数据。
我目前正在使用以下select语句生成我需要的所有注册数据,并按电子邮件地址分组。我需要生成相同的数据集,但前提是最近一次通过特定电子邮件地址进行的注册是与供应商'TS'一起进行的。
SELECT
t.ID AS 'Enrollment ID',
t.supplier AS 'Supplier',
t.email AS 'Email Address',
t.LDC_ACCT,
t.LDC_KEY,
t.FIRST_NAME AS 'First Name',
t.LAST_NAME AS 'Last Name',
t.ServiceAddress1,
t.ServiceAddress2,
t.CITY,
t.STATE,
t.ZIP,
BSTREET AS 'BillingAddress1',
t.BStreet2 AS 'BillingAddress2',
t.BCITY AS 'BillingCity',
t.BState AS 'BillingState',
t.BZip AS 'BillingZip',
t.PHONE,
t.BusinessName,
t.UTILITY,
t.RATECODE AS 'Property Type',
t.CurrentMarketingStatus as 'MAILLIST',
date(t.ExpirationDate) AS 'ContractExpiration',
date(t.CONTDATE) AS 'LatestEnrollmentDate',
t.ldc_last4,
t.RateTier,
t.RateTierRenewalRate,
t.RateTierRenewalTerm,
t.iCap,
t.RenewalStatus,
t.RenewalOfferDate
FROM (SELECT * FROM elec_cust ORDER BY ID DESC) t
GROUP BY t.email
ORDER BY ID Desc;
我正在尝试找出如何更改此语句的方法,以将结果限制为仅使用电子邮件地址最近注册的是供应商“ TS”的结果。有任何想法吗?我想这比我想象的要容易,但是我被卡住了。