これは LEFT JOIN の使い方がわからないことが原因だと思いますが、NULL 値を返さないクエリを書いています。クエリは次のとおりです。
CREATE TABLE #OrgMaster
(OrgName nvarchar(100))
INSERT INTO #OrgMaster (OrgName)
SELECT DISTINCT Organization
FROM StageReleaseCalendar_VW
SELECT SRC.Organization
, SRC.deploytype
, COUNT(SRC.deploytype) AS 'Deployment Count'
, DATEPART(m,SRC.actualstarttime) AS 'MonthNum'
, DATENAME(m,SRC.actualstarttime) AS 'MonthNam'
FROM #OrgMaster TTOM LEFT OUTER JOIN StageReleaseCalendar_VW SRC
ON LEFT(TTOM.OrgName, LEN(TTOM.OrgName)) = SRC.Organization
WHERE DATEDIFF(m, SRC.scheduledstarttime, CURRENT_TIMESTAMP) BETWEEN 1 AND 2
AND completerelease = 1
AND deploytype IN ('Service Pack','Hot Fix')
AND cancelled = 0
GROUP BY SRC.Organization, SRC.deploytype, DATEPART(m,SRC.actualstarttime), DATENAME(m,SRC.actualstarttime)
DROP TABLE #OrgMaster
コマーシャル、コンシューマー、パートナー、セールスの合計 4 つの組織があります。一時テーブルを作成した後、次のクエリを実行すると:
#OrgMaster から OrgName を選択
結果は次のとおりです。
コマーシャル コンシューマー パートナー セールス
パートナーは 7 月または 8 月にいかなる種類の展開も行わないため、取得しようとしているのは、パートナーの 4 つの NULL レコード (7 月のホットフィックス、8 月のホットフィックス、7 月のサービス パックのレコード) を含む一連の結果です。 、および 8 月のサービス パック用。代わりに、展開が実際に行われたエントリのみに限定された結果セットを取得します。
ここで私が理解していないことを誰かが見ることができますか?
ありがとう。