Please note, the SQL is handled dynamically by the SQL server. Alot that is with-in the Where clauses will look odd to you, please disregard them as they are not an issue. The query in my code snippet below works in its present state. It returns exactly what I ask and intend. (Please see below the code for what I need).SET NOCOUNT ON DECLARE @DOBFrom datetime, @DOBTo datetime IF 1 = 1 BEGIN SET @DOBFrom = getdate() - (100 * 365.25) IF 1 = 1 BEGIN SET @DOBTo = getdate() - ((1-1) * 365.25) END ELSE BEGIN SET @DOBTo = getdate() - (1 * 365.25) END ENDELSE BEGIN IF NULL = NULL BEGIN SET @DOBFrom = getdate() - (365.25*110) SET @DOBTo = getdate() END ELSE BEGIN SET @DOBFrom = NULL SET @DOBTo = NULL END END DECLARE @maxamt money, @minamt money if 1 = '1'begin set @minamt = -99999999.00 set @maxamt = 999999999.00endif 1 = '2'begin set @minamt = -9999999.00 set @maxamt = NULLendif 1 = '3'begin set @minamt = NULL set @maxamt = 99999999.00endif 1 = '4'begin set @minamt = NULL set @maxamt = NULLend DECLARE @insmaxamt money, @insminamt money if 1 = '1'begin set @insminamt = -99999999.00 set @insmaxamt = 999999999.00endif 1 = '2'begin set @insminamt = -9999999.00 set @insmaxamt = NULLendif 1 = '3'begin set @insminamt = NULL set @insmaxamt = 99999999.00endif 1 = '4'begin set @insminamt = NULL set @insmaxamt = NULLend CREATE TABLE #Bill ( patientvisitid int )INSERT #Bill SELECT distinct PatientVisit.patientvisitidFROM PatientVisit INNER JOIN DoctorFacility ON PatientVisit.DoctorId = DoctorFacility.DoctorFacilityId LEFT JOIN MedLists ON PatientVisit.FinancialClassMId = MedLists.MedListsId INNER JOIN PatientProfile ON PatientVisit.PatientProfileId = PatientProfile.PatientProfileId INNER JOIN PatientVisitProcs ON PatientVisit.PatientVisitId = PatientVisitProcs.PatientVisitId INNER JOIN MedLists MedLists_1 ON PatientVisit.BillStatus = MedLists_1.JoinId LEFT JOIN MedLists MedLists_2 ON PatientVisitProcs.PlaceOfServiceMId = MedLists_2.MedListsId LEFT JOIN MedLists MedLists_3 ON PatientVisitProcs.TypeOfServiceMId = MedLists_3.MedListsId INNER JOIN PatientVisitAgg ON PatientVisit.PatientVisitId = PatientVisitAgg.PatientVisitId INNER JOIN Procedures ON PatientVisitProcs.ProceduresId = Procedures.ProceduresId LEFT JOIN MedLists MedLists_8 ON Procedures.DepartmentMId = MedLists_8.MedListsId INNER JOIN DoctorFacility DoctorFacility_1 ON PatientVisit.FacilityId = DoctorFacility_1.DoctorFacilityId LEFT OUTER JOIN MedLists MedLists_7 ON PatientVisitProcs.Modifier4MId = MedLists_7.MedListsId LEFT OUTER JOIN MedLists MedLists_6 ON PatientVisitProcs.Modifier3MId = MedLists_6.MedListsId LEFT OUTER JOIN MedLists MedLists_5 ON PatientVisitProcs.Modifier2MId = MedLists_5.MedListsId LEFT OUTER JOIN MedLists MedLists_4 ON PatientVisitProcs.Modifier1MId = MedLists_4.MedListsId INNER JOIN DoctorFacility DoctorFacility_2 ON PatientVisit.CompanyId = DoctorFacility_2.DoctorFacilityId LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_0 ON PatientVisit.PatientVisitId = PatientVisitDiags_0.PatientVisitId AND PatientVisitProcs.PatientVisitDiags1 = PatientVisitDiags_0.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_1 ON PatientVisit.PatientVisitId = PatientVisitDiags_1.PatientVisitId AND PatientVisitProcs.PatientVisitDiags2 = PatientVisitDiags_1.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_2 ON PatientVisit.PatientVisitId = PatientVisitDiags_2.PatientVisitId AND PatientVisitProcs.PatientVisitDiags3 = PatientVisitDiags_2.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_3 ON PatientVisit.PatientVisitId = PatientVisitDiags_3.PatientVisitId AND PatientVisitProcs.PatientVisitDiags4 = PatientVisitDiags_3.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_4 ON PatientVisit.PatientVisitId = PatientVisitDiags_4.PatientVisitId AND PatientVisitProcs.PatientVisitDiags5 = PatientVisitDiags_4.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_5 ON PatientVisit.PatientVisitId = PatientVisitDiags_5.PatientVisitId AND PatientVisitProcs.PatientVisitDiags6 = PatientVisitDiags_5.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_6 ON PatientVisit.PatientVisitId = PatientVisitDiags_6.PatientVisitId AND PatientVisitProcs.PatientVisitDiags7 = PatientVisitDiags_6.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_7 ON PatientVisit.PatientVisitId = PatientVisitDiags_7.PatientVisitId AND PatientVisitProcs.PatientVisitDiags8 = PatientVisitDiags_7.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_8 ON PatientVisit.PatientVisitId = PatientVisitDiags_8.PatientVisitId AND PatientVisitProcs.PatientVisitDiags9 = PatientVisitDiags_8.ListOrder INNER JOIN PatientVisitProcsAgg ON PatientVisitProcs.PatientVisitProcsId = PatientVisitProcsAgg.PatientVisitProcsId WHERE (MedLists_1.TableName = 'BillStatus') AND --Filter on CPT Code ( (NULL IS NOT NULL AND PatientVisitProcs.ProceduresId IN (NULL)) OR (NULL IS NULL) ) AND --Filter on doctor ( (NULL IS NOT NULL AND PatientVisit.DoctorID IN (NULL)) OR (NULL IS NULL) ) AND --Filter on Diagnosis ( (NULL IS NOT NULL AND PatientVisitDiags_0.DiagnosisId IN (NULL)) OR (NULL IS NOT NULL AND PatientVisitDiags_1.DiagnosisId IN (NULL)) OR (NULL IS NOT NULL AND PatientVisitDiags_2.DiagnosisId IN (NULL)) OR (NULL IS NOT NULL AND PatientVisitDiags_3.DiagnosisId IN (NULL)) OR (NULL IS NOT NULL AND PatientVisitDiags_4.DiagnosisId IN (NULL)) OR (NULL IS NOT NULL AND PatientVisitDiags_5.DiagnosisId IN (NULL)) OR (NULL IS NOT NULL AND PatientVisitDiags_6.DiagnosisId IN (NULL)) OR (NULL IS NOT NULL AND PatientVisitDiags_7.DiagnosisId IN (NULL)) OR (NULL IS NOT NULL AND PatientVisitDiags_8.DiagnosisId IN (NULL)) OR (NULL IS NULL) ) AND --Filter on facility ( (NULL IS NOT NULL AND PatientVisit.FacilityID IN (NULL)) OR (NULL IS NULL) ) AND --Filter on pat sex ( (Null IS NOT NULL AND PatientProfile.sex in (Null)) OR (Null IS NULL) ) AND --Filter on Date ( (1 = 1 AND (PatientVisit.Entered >= ISNULL(NULL, '1/1/1900') AND PatientVisit.Entered < DATEADD(d,1,ISNULL(NULL,'1/1/3000')))) OR (1 = 2 AND (PatientVisitProcs.DateOfServiceFrom>= ISNULL(NULL, '1/1/1900') AND PatientVisitProcs.DateOfServiceFrom < DATEADD(d,1,ISNULL(NULL,'1/1/3000')))) ) AND --Filter on DOBDate ( PatientProfile.Birthdate >= @DOBFrom AND PatientProfile.Birthdate <= @DOBTo ) AND --Filter on Insurance Carrier ( (NULL IS NOT NULL AND PatientVisit.PrimaryInsuranceCarriersId IN (NULL)) OR (NULL IS NULL) ) AND --Filter on patient balance ( (1 = 1) OR (1 = 2 AND PatientVisitAgg.PatBalance <> 0 AND PatientVisitAgg.PatBalance <= @maxamt) OR (1 = 3 AND PatientVisitAgg.PatBalance >= @minamt) OR (1 = 4 AND PatientVisitAgg.PatBalance >= @minamt AND PatientVisitAgg.PatBalance <= @maxamt) ) AND --Filter on Insurance balance ( (1 = 1) OR (1 = 2 AND PatientVisitAgg.InsBalance <> 0 AND PatientVisitAgg.InsBalance <= @insmaxamt) OR (1 = 3 AND PatientVisitAgg.InsBalance >= @insminamt) OR (1 = 4 AND PatientVisitAgg.InsBalance >= @insminamt AND PatientVisitAgg.InsBalance <= @insmaxamt) ) AND --Filter on patient ( ('365' IS NOT NULL AND PatientProfile.PatientProfileID IN (365)) OR ('365' IS NULL) ) SELECT DISTINCT PatientVisit.TicketNumber AS [Ticket Number], PatientVisitProcs.DateOfServiceFrom AS [Date Of Service], DoctorFacility.ListName AS Doctor, ISNULL(InsuranceCarriers.ListName, '') AS [Insurance Carrier], ISNULL(InsuranceCarriers.Address1,'')+ ' ' + ISNULL(InsuranceCarriers.Address2,'')+ ' ' + ISNULL(InsuranceCarriers.City,'')+ ' ' + ISNULL(InsuranceCarriers.State,'')+ ' ' + ISNULL(InsuranceCarriers.Zip,'')AS [Ins Address], --MedLists.Description AS [Financial Class], --ISNULL(InsuranceGroup.Name, '') AS [Insurance Group], dbo.FormatName(PatientProfile.Prefix, PatientProfile.First, PatientProfile.Middle, PatientProfile.Last, PatientProfile.Suffix) AS [Patient Name], patientprofile.PatientId, patientprofile.PatientProfileID, ISNULL(patientprofile.medicalrecordnumber,'No MRN#')as [Medical Record Number], ISNULL(patientprofile.address1,'') + '' + ISNULL(patientprofile.address2, '') + ' ' + ISNULL(patientprofile.city,'') + ' ' + ISNULL(patientprofile.state,'') + ' ' + ISNULL(patientprofile.zip,'') AS [Patient Address], ISNULL(patientprofile.Phone1,'No Phone')as PatPhone, ISNULL(Convert(VarChar(20), patientprofile.birthdate, 101),'No DOB')as PatientDOB, datediff(YYYY, isnull(patientprofile.birthdate, getdate()), getdate())AS [Patient Age], 'Age @ TOS' = CASE WHEN DATEDIFF(YY,patientprofile.birthdate, patientvisitprocs.dateofservicefrom) <= 0 THEN CAST(DATEDIFF(MM,patientprofile.birthdate, patientvisitprocs.dateofservicefrom)as varchar(10))+ ' Month(s)' ELSE CAST(DATEDIFF(YY,patientprofile.birthdate, patientvisitprocs.dateofservicefrom)as varchar(10))+ ' Yr(s)' END, ISNULL(patientprofile.sex,'')as PatSex, PatientVisit.Entered AS [Date Of Entry], DoctorFacility_1.ListName AS Facility, MedLists_1.Description AS [Visit Status], PatientVisitProcs.TotalFee AS Fee, PatientVisitProcs.CPTCode AS [CPT Code], PatientVisitProcs.Units AS Units, MedLists_2.Code AS PlaceOfService, MedLists_3.Code AS TypeOfService, ISNULL(CONVERT(varchar(4), MedLists_4.Code), ' ') + ' ' + ISNULL(CONVERT(varchar(4), MedLists_5.Code), ' ') + ' ' + ISNULL(CONVERT(varchar(4), MedLists_6.Code), ' ') + ' ' + ISNULL(CONVERT(varchar(4), MedLists_7.Code), ' ') AS Modifier, PatientVisitProcsAgg.InsPayment, PatientVisitProcsAgg.PatPayment, PatientVisitProcsAgg.InsAdjustment, PatientVisitProcsAgg.PatAdjustment, PatientVisitProcsAgg.InsBalance, PatientVisitProcsAgg.PatBalance, PatientVisitProcsAgg.InsBalance + PatientVisitProcsAgg.PatBalance AS TotalBalance, MedLists_8.Description AS Department, DoctorFacility_2.ListName AS Company, ISNULL(PatientVisitDiags_0.Code,'') AS Diag1, ISNULL(PatientVisitDiags_1.Code,'') AS Diag2, ISNULL(PatientVisitDiags_2.Code,'') AS Diag3, ISNULL(PatientVisitDiags_3.Code,'') AS Diag4, ISNULL(PatientVisitDiags_4.Code,'') AS Diag5, ISNULL(PatientVisitDiags_5.Code,'') AS Diag6, ISNULL(PatientVisitDiags_6.Code,'') AS Diag7, ISNULL(PatientVisitDiags_7.Code,'') AS Diag8, CASE WHEN 0 = 1 THEN DoctorFacility.ListName WHEN 0 = 2 THEN DoctorFacility_1.ListName WHEN 0 = 3 THEN DoctorFacility_2.ListName WHEN 0 = 4 THEN ISNULL(InsuranceCarriers.ListName,'No Carrier') + ' ' + ISNULL(InsuranceCarriers.Address1,'')+ ' ' + ISNULL(InsuranceCarriers.Address2,'')+ ' ' + ISNULL(InsuranceCarriers.City,'')+ ' ' + ISNULL(InsuranceCarriers.State,'')+ ' ' + ISNULL(InsuranceCarriers.Zip,'') ELSE NULL END AS GROUPING FROM PatientVisit INNER JOIN #Bill b ON PatientVisit.PatientVisitId = b.PatientVisitId INNER JOIN DoctorFacility ON PatientVisit.DoctorId = DoctorFacility.DoctorFacilityId LEFT JOIN InsuranceCarriers ON PatientVisit.PrimaryInsuranceCarriersId = InsuranceCarriers.InsuranceCarriersId LEFT JOIN MedLists ON PatientVisit.FinancialClassMId = MedLists.MedListsId INNER JOIN PatientProfile ON PatientVisit.PatientProfileId = PatientProfile.PatientProfileId INNER JOIN PatientVisitProcs ON PatientVisit.PatientVisitId = PatientVisitProcs.PatientVisitId INNER JOIN MedLists MedLists_1 ON PatientVisit.BillStatus = MedLists_1.JoinId LEFT JOIN MedLists MedLists_2 ON PatientVisitProcs.PlaceOfServiceMId = MedLists_2.MedListsId LEFT JOIN MedLists MedLists_3 ON PatientVisitProcs.TypeOfServiceMId = MedLists_3.MedListsId INNER JOIN PatientVisitAgg ON PatientVisit.PatientVisitId = PatientVisitAgg.PatientVisitId INNER JOIN Procedures ON PatientVisitProcs.ProceduresId = Procedures.ProceduresId LEFT JOIN MedLists MedLists_8 ON Procedures.DepartmentMId = MedLists_8.MedListsId INNER JOIN DoctorFacility DoctorFacility_1 ON PatientVisit.FacilityId = DoctorFacility_1.DoctorFacilityId LEFT OUTER JOIN MedLists MedLists_7 ON PatientVisitProcs.Modifier4MId = MedLists_7.MedListsId LEFT OUTER JOIN MedLists MedLists_6 ON PatientVisitProcs.Modifier3MId = MedLists_6.MedListsId LEFT OUTER JOIN MedLists MedLists_5 ON PatientVisitProcs.Modifier2MId = MedLists_5.MedListsId LEFT OUTER JOIN MedLists MedLists_4 ON PatientVisitProcs.Modifier1MId = MedLists_4.MedListsId INNER JOIN DoctorFacility DoctorFacility_2 ON PatientVisit.CompanyId = DoctorFacility_2.DoctorFacilityId LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_0 ON PatientVisit.PatientVisitId = PatientVisitDiags_0.PatientVisitId AND PatientVisitProcs.PatientVisitDiags1 = PatientVisitDiags_0.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_1 ON PatientVisit.PatientVisitId = PatientVisitDiags_1.PatientVisitId AND PatientVisitProcs.PatientVisitDiags2 = PatientVisitDiags_1.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_2 ON PatientVisit.PatientVisitId = PatientVisitDiags_2.PatientVisitId AND PatientVisitProcs.PatientVisitDiags3 = PatientVisitDiags_2.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_3 ON PatientVisit.PatientVisitId = PatientVisitDiags_3.PatientVisitId AND PatientVisitProcs.PatientVisitDiags4 = PatientVisitDiags_3.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_4 ON PatientVisit.PatientVisitId = PatientVisitDiags_4.PatientVisitId AND PatientVisitProcs.PatientVisitDiags5 = PatientVisitDiags_4.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_5 ON PatientVisit.PatientVisitId = PatientVisitDiags_5.PatientVisitId AND PatientVisitProcs.PatientVisitDiags6 = PatientVisitDiags_5.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_6 ON PatientVisit.PatientVisitId = PatientVisitDiags_6.PatientVisitId AND PatientVisitProcs.PatientVisitDiags7 = PatientVisitDiags_6.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_7 ON PatientVisit.PatientVisitId = PatientVisitDiags_7.PatientVisitId AND PatientVisitProcs.PatientVisitDiags8 = PatientVisitDiags_7.ListOrder LEFT OUTER JOIN PatientVisitDiags PatientVisitDiags_8 ON PatientVisit.PatientVisitId = PatientVisitDiags_8.PatientVisitId AND PatientVisitProcs.PatientVisitDiags9 = PatientVisitDiags_8.ListOrder INNER JOIN PatientVisitProcsAgg ON PatientVisitProcs.PatientVisitProcsId = PatientVisitProcsAgg.PatientVisitProcsIdWHERE (MedLists_1.TableName = 'BillStatus')ORDER BY [Patient Name]ASCDROP TABLE #Bill What I want to do is introduce the following into my report:PatientCorrespondence.Created AS [Date Created],PatientCorrespondence.CreatedBy AS [Created By], CASE PatientCorrespondence.DescriptionWHEN '**long**' THEN cast(PatientCorrespondence.DescriptionLong as varchar(8000)) ELSE PatientCorrespondence.DescriptionEND AS Notes
The issue I have has to do with how the patientvisit table hooks into the patientvisitprocs table. Its kicking back the same note for every procedure I have, which lead me to believe I needed a sub-query. I took one specific patientvisitId to get back what I needed in a seperate query. Whats in this code snippet is what I need to add into my main query. If anyone can help that would be AWESOME.SELECT DISTINCT PatientCorrespondence.Created AS [Date Created] , PatientCorrespondence.CreatedBy AS [Created By] , CASE PatientCorrespondence.Description WHEN '**long**' THEN CAST(PatientCorrespondence.DescriptionLong AS VARCHAR(8000)) ELSE PatientCorrespondence.Description END AS NotesFROM PatientVisit LEFT JOIN PatientCorrespondence ON PatientVisit.PatientVisitId = PatientCorrespondence.PatientVisitIdWHERE PatientVisit.PatientVisitId = '846'ORDER BY [Date Created] DESC