我必須加入一打表才能獲取SSRS報告所需的特定字段。其中一個必要的表連接也添加了「重複」記錄。需要COUNT的協助,獲得意想不到的結果
就數據庫而言,記錄當然並不重複,因爲有一個字段使得它們是唯一的。所以我創建了一個關閉我的主要查詢tmp表,並沒有包含那個邪惡的領域(我會配音列D) - 這個查詢有我結。
我相信這會讓我的任務變得簡單。
我的臨時表,現在只能有如下(匿名):
SELECT DISTINCT
jt.A [ColumnA]
,jt.B [ColumnB]
,jt.C [ColumnC]
,COUNT(*) [TotalCount]
INTO
#CountsTbl
FROM
#JoinsTbl jt
GROUP BY
jt.A
,jt.B
,jt.C
當我加入這個表與另一個查看結果伯爵仍然是錯誤的,在一個相同的數據的任何記錄, B,C即使列D不包含在tmp表中也是重複的,我使用了SELECT DISTINCT。
+---------+------------+------------+---------+------------+
| ColumnA | ColumnB | ColumnC | ColumnD | TotalCount |
+---------+------------+------------+---------+------------+
|| 01/01/2016 | 01/31/2016 | ABC | 1 |
+---------+------------+------------+---------+------------+
|| 02/01/2016 | 02/28/2016 | ABC | 2 |
+---------+------------+------------+---------+------------+
|| 02/01/2016 | 02/28/2016 | XYZ | 2 |
+---------+------------+------------+---------+------------+
我缺少的是逃避我,我一直在這個查詢的邏輯這麼久,我想我需要一些其他的眼光來看待它。在上面的例子中,這是我加入時得到的,即使COUNT已經在前面的tmp表中完成了。第一行有一個正確的計數,第二個和第三個我只想計數爲1,因爲我不想讓COUNT查看D列,只是A-C。
我使用SQL Server 2014
這是我的第一篇文章,所以請讓我知道如果我需要包括更多的信息。我找不到有意義的答案 - 也許我在問錯誤的問題。
感謝
因此,我看到一個基於列A,B和C的「group by」。在A,B和C列中有兩個記錄具有相同的值。唯一的區別是在D列,但是你不想檢查那一列? –
我不確定這裏的問題是什麼。我懷疑這是因爲各種表格中有多行。除非你使用count(Distinct SomeColumn),否則Distinct不會幫助你聽到。至少在我看來,我希望看到一些代表你面臨的問題的樣本數據(不是真實的信息)。 –
@ErayBalkanli ColumnD是問題所在,我需要該列中的信息用於報告,但是我不想在計數時包含它。我只是希望計數基於A-C列唯一的行。 – DRT