【发布时间】:2017-01-23 23:50:15
【问题描述】:
我的数据如下所示:
如您所见,我有重复的 Premium,共 41 美元。
如果我在我的JOIN 条件下说:
` LEFT OUTER JOIN Catalytic_vw_AggregateScheduleUniqueGUID agg ON agg.QuoteGuid = dbo.tblQuotes.QuoteGUID AND agg.guid = CL.CompanylocationGUID
AND agg.policyNumber IS NOT NULL
那么我不会在PolicyNumberFromRater 列中看到NULL 值。
但我不想只为特定的LineGUID 看到 NULL,而不是所有这些。
基本上我想说:使用条件AND agg.policyNumber IS NOT NULL 仅用于LineGUID = CF144437...
但如果它是其他LineGUID,那么我确实想在`PolicyNumberFromRater 中看到NULL。
当我将表连接在一起时,我该怎么做?
包含LineGUID 的表是tbl.Quotes,也可以在JOIN 中找到。
这是我完整的JOIN
select PolicyNumber
FROM tblFin_Invoices INV
INNER JOIN dbo.tblQuotes ON INV.QuoteID = tblQuotes.QuoteID
INNER JOIN tblFin_InvoiceDetails INVD ON INV.InvoiceNum = INVD.InvoiceNum
INNER JOIN dbo.tblQuoteDetails ON dbo.tblQuotes.QuoteGUID = dbo.tblQuoteDetails.QuoteGuid AND tblQuoteDetails.CompanyLineGuid = CF144437-F128-4B77-AC19-877247347D02
INVD.CompanyLineGuid
LEFT OUTER JOIN dbo.tblCompanyLines ON dbo.tblQuoteDetails.CompanyLineGuid = dbo.tblCompanyLines.CompanyLineGUID
LEFT OUTER JOIN dbo.tblCompanyLocations AS CL ON dbo.tblCompanyLines.CompanyLocationGUID = CL.CompanyLocationGUID
LEFT OUTER JOIN tblCompanyLocations ON tblQuotes.CompanyLocationGuid = tblCompanyLocations.CompanyLocationGUID
---------/*This is where I need the condition*/
LEFT OUTER JOIN Catalytic_vw_AggregateScheduleUniqueGUID agg ON agg.QuoteGuid = dbo.tblQuotes.QuoteGUID AND agg.guid = CL.CompanylocationGUID
AND agg.policyNumber IS NOT NULL
--(use "AND agg.policyNumber IS NOT NULL" only for LineGUID = CF144437...)
LEFT OUTER JOIN tblSubmissionGroup ON tblQuotes.SubmissionGroupGuid = tblSubmissionGroup.SubmissionGroupGUID
LEFT OUTER JOIN tblUsers ON INV.UnderwriterUserGUID = tblUsers.UserGUID
LEFT OUTER JOIN tblClientOffices ON tblQuotes.QuotingLocationGuid = tblClientOffices.OfficeGUID
LEFT OUTER JOIN tblInsureds ON tblSubmissionGroup.InsuredGuid = tblInsureds.InsuredGuid
LEFT OUTER JOIN lstPolicyTypes ON tblQuotes.PolicyTypeID = lstPolicyTypes.PolicyTypeID
【问题讨论】:
标签: sql-server tsql join case