我有以下使用兩個表的查詢。一個是聯繫人,另一個是電子郵件。聯繫人具有以下列:ContactId,FirstName,LastName。電子郵件包含以下列:EmailId,ContactId,EmailAddress。MS SQL - 在不更改記錄的情況下顯示姓氏和名字
我有這個查詢,運行一個基本的重複檢查。它將返回一個數字值和一個電子郵件(即2 - [email protected] = 2個聯繫人的電子郵件地址爲[email protected])。我試圖讓它顯示與電子郵件關聯的名字和姓氏,但是當我這樣做時,它會改變正在生成的數據量。這很可能是因爲它抓取了電子郵件,並且還附帶了姓和名。
下面是查詢;當我嘗試輸入SELECT CONTACT.LASTNAME和CONTACT。 FIRSTNAME以及GROUP BY,它將改變輸出的數據量;創建更多的列(預期),但也有更多的行,數據實際上不太相關(返回更多的空值)。這是什麼造成的,我該如何解決?
SELECT COUNT(CONTACT.CONTACTID) AS [DUPLICATECOUNT], EMAIL.ADDRESS AS [EMAILADDRESS]
FROM CONTACT
INNER JOIN EMAIL on EMAIL.ContactID = CONTACT.ContactId
GROUP BY EMAIL.ADDRESS
HAVING COUNT (CONTACT.ContactID) > 1
ORDER BY [DUPLICATECOUNT] DESC
定義「變化的數據量正在生產」:更多的列(保證) ?更多的行(非常不可能)?如果前者,你還期望什麼?你想讓他們顯示爲單個列(想想「單元格」)嗎? –
更多列,更少行 編輯:實際上更多的行,但技術上更少的數據(更多的空值顯示) –
您的預期結果是什麼?如你所想,如果名稱不同,按這兩個字段分組將會影響計數 - 這將增加更多結果。你想把名字合併成一個列嗎? – sgeddes