幫助 - 我已經在這個問題上玩了一段時間,並且會去蝙蝠。 在此縮減查詢中,我想從聯繫人列表中選擇一個可能包含該客戶的多個聯繫人的單個電子郵件地址。從嵌套的sql select中選擇一條記錄
我的問題是,它沒有找到聯繫人電子郵件,如果我指定TOP 1 (用於CC.Email顯示NULL)
注:返回與聯繫電子郵件兩條記錄,如果我指定TOP 5
我認爲TOP 1必須在確定匹配之前將記錄限制爲1嗎?
SELECT C.Code as Customer, C.Name as CustomerName, C. Email, CC.Email, IIF(CC.Email<>'',CC.Email,C.Email) as Email
FROM [dr].[Customer] C
LEFT OUTER JOIN (Select TOP 1 CustomerId, Email
from dr.Contact CC
INNER JOIN dr.ContactDocumentOption CDO
on CDO.TransactionTypeId = 102
AND CDO.ContactId = CC.ContactId
Order by CC.ContactId) CC
on CC.CustomerId = C.CustomerId
WHERE C.Code = 'B82'
請提供DBMS,樣本數據和預期數據。 – Viki888
我正在使用SQL Server 2012 - 我的客戶表有許多客戶,其中包括'B82'和我的聯繫人表有2個客戶記錄。 – Anthonyinnz
我試圖爲每個客戶檢索一行,顯示第一個聯繫人的電子郵件,或者如果沒有聯繫人,則顯示默認的公司電子郵件。 – Anthonyinnz