У меня есть две таблицы.Одним из них является таблица отчетов, которые были представлены нам.Еще одна временная таблица с записями отчетов, которые в конечном итоге должны быть представлены нам.Я хотел бы показать только записи во временной таблице, которые не совпадают с записями в таблице отчетов (поэтому отображаются отчеты, которые все еще должны быть отправлены).
Пример данных:
Reports table:
CREATE TABLE [dbo].[Reports]
(
[ReportID] [int] IDENTITY(1,1) NOT NULL,
[ReportDate] [date] NULL,
[AssessmentID] [int] NOT NULL,
[ReportType] [varchar](50) NULL
);
AssessmentID ReportType ReportID
1 1st Quarterly 27
2 1st Quarterly 30
2 2nd Quarterly 31
2 3rd Quarterly 32
QuarterlyReportsDue table:
CREATE TABLE #QuarterlyReportsDue
(
AssessmentID INT,
InstallationDate DATE,
QuarterlyReportType VARCHAR(50)
);
AssessmentID InstallationDate QuarterlyReportType
1 2009-08-14 1st Quarterly
1 2009-08-14 2nd Quarterly
1 2009-08-14 3rd Quarterly
1 2009-08-14 4th Quarterly
2 2008-05-16 4th Quarterly
2 2008-05-16 3rd Quarterly
2 2008-05-16 2nd Quarterly
2 2008-05-16 1st Quarterly
Я пробовал ВНЕШНЕЕ СОЕДИНЕНИЕ, но столкнулся с проблемамиПожалуйста, посмотрите мой ниже SQL:
SELECT #QuarterlyReportsDue.InstallationDate, #QuarterlyReportsDue.QuarterlyReportType, Reports.ReportType
FROM #QuarterlyReportsDue
LEFT OUTER JOIN Reports ON #QuarterlyReportsDue.AssessmentID = Reports.AssessmentID
WHERE Reports.ReportType IN ('1st Quarterly', '2nd Quarterly', '3rd Quarterly', '4th Quarterly')
AND Reports.ReportType <> #QuarterlyReportsDue.QuarterlyReportType
ORDER BY #QuarterlyReportsDue.AssessmentID
И мои результаты:
AssessmentID QuarterlyReportType ReportType ReportID
1 2nd Quarterly 1st Quarterly 27
1 3rd Quarterly 1st Quarterly 27
1 4th Quarterly 1st Quarterly 27
2 4th Quarterly 1st Quarterly 30
2 4th Quarterly 2nd Quarterly 31
2 4th Quarterly 3rd Quarterly 32
2 1st Quarterly 2nd Quarterly 31
2 1st Quarterly 3rd Quarterly 32
2 3rd Quarterly 1st Quarterly 30
2 3rd Quarterly 2nd Quarterly 31
2 2nd Quarterly 1st Quarterly 30
2 2nd Quarterly 3rd Quarterly 32
Для оценки 1 это прекрасно работает, оценка 2 имеет много дубликатов.Как я могу обойти это, чтобы показать только идеальные результаты?
AssessmentID QuarterlyReportType ReportType
1 2nd Quarterly 1st Quarterly
1 3rd Quarterly 1st Quarterly
1 4th Quarterly 1st Quarterly
2 4th Quarterly