我正在创建一份报告。在那里我显示总数没有线索,通过传真发送的线索和通过短信发送的线索。我写了一个程序来获取记录。在这里,我必须检查一个条件,即通过短信发送的潜在客户和通过传真发送的潜在客户不应为零。如果两者都为零,我不应该获取记录。如果其中一个有任何价值我应该获取记录。是否可以通过SQL Query实现它。
从OP评论到旁观者
SELECT C.ClientID ,
C.ClientName ,
C.OrganizationName,
C.FirstName ,
S.SMSOverageRate ,
'' as Cost ,
Count(*) as TotalLeads ,
Sum(CASE DeliveryViaFax WHEN 'Y' THEN 1 ELSE 0 END) AS FaxCount ,
Sum(CASE DeliveryViaSMSEmail WHEN 'Y' THEN 1 ELSE 0 END) AS SMSCount
FROM CMN_LeadSaleDetails S INNER JOIN
CMN_LeadClients C ON C.ClientID = S.BuyerID
WHERE C.SellerTenantId = @TenantId
AND S.SellerJournalID = CASE @JournalId WHEN 0 THEN S.SellerJournalID ELSE @JournalId END
GROUP BY C.ClientID ,
C.ClientName ,
C.OrganizationName,
C.FirstName ,
S.SMSOverageRate
答案 0 :(得分:2)
您可以尝试这样的事情
SELECT *
FROM TABLE
WHERE (TotalSMSLeads != 0
OR TotalFaxLeads != 0)
提供示例查询,我们可以为您提供进一步的帮助。
好的,根据您的评论,我会尝试这样的事情
SELECT C.ClientID ,
C.ClientName ,
C.OrganizationName,
C.FirstName ,
S.SMSOverageRate ,
'' as Cost ,
Count(*) as TotalLeads ,
Sum(CASE DeliveryViaFax WHEN 'Y' THEN 1 ELSE 0 END) AS FaxCount ,
Sum(CASE DeliveryViaSMSEmail WHEN 'Y' THEN 1 ELSE 0 END) AS SMSCount
FROM CMN_LeadSaleDetails S INNER JOIN
CMN_LeadClients C ON C.ClientID = S.BuyerID
WHERE C.SellerTenantId = @TenantId
AND S.SellerJournalID = CASE @JournalId WHEN 0 THEN S.SellerJournalID ELSE @JournalId END
GROUP BY C.ClientID ,
C.ClientName ,
C.OrganizationName,
C.FirstName ,
S.SMSOverageRate
HAVING ( Sum(CASE DeliveryViaFax WHEN 'Y' THEN 1 ELSE 0 END) != 0
OR Sum(CASE DeliveryViaSMSEmail WHEN 'Y' THEN 1 ELSE 0 END) != 0)
答案 1 :(得分:2)
可替换地..
Select *
From TABLE
Where (SMSLeads + FaxLeads) > 0
使用您的SQL
Select C.ClientID ,C.ClientName ,C.OrganizationName
C.FirstName ,S.SMSOverageRate ,'' as Cost,
Count(*) as TotalLeads ,
Sum(CASE DeliveryViaFax WHEN 'Y' THEN 1 ELSE 0 END) AS FaxCount ,
Sum(CASE DeliveryViaSMSEmail WHEN 'Y' THEN 1 ELSE 0 END) AS SMSCount
FROM CMN_LeadSaleDetails S
INNER JOIN CMN_LeadClients C
ON C.ClientID = S.BuyerID
WHERE C.SellerTenantId = @TenantId
AND S.SellerJournalID = CASE @JournalId WHEN 0 THEN S.SellerJournalID ELSE @JournalId
Group By C.ClientID ,C.ClientName ,C.OrganizationName
C.FirstName ,S.SMSOverageRate
Having (FaxCount+SMSCount) > 0