已经对数据进行部分测试是正确的,但不知道理论上流程是不是正确?
我把视图里的Application表从命名成AppNew我的疑问是这样的:
数据库查询时对WHERE语句上面来说 已经出来的一条记录比如这时的Application.ID(也就时AppNew.ID)是100576
我的疑问是WHERE子句里的AppNew.ID是不是100576(是不是和上面查询出来的AppNew.ID相关)SELECT DISTINCT 
      dbo.Contracts.ContractNumber, dbo.Customer.Race, dbo.Customer.Ethnicity, 
      dbo.Customer.Sex, dbo.Customer.Veteran, dbo.Customer.HeadOfHouseHold, 
      dbo.ApplicationProfile.AtRiskOfBeingHomeless, CONVERT(char(3), 
      dbo.InvestorTarget.Percentage) + REPLACE(dbo.InvestorTarget.Performance, '_', '') 
      AS Goals, AppNew.FamilyID, dbo.Customer.ID, AppNew.ApplicationStatus, 
      AppNew.ApplicationDate, dbo.Program.Program, 
      dbo.Customer.EthnicBackground
FROM dbo.Customer INNER JOIN
      dbo.MileStone_Target INNER JOIN
      dbo.Program INNER JOIN
      dbo.Application AppNew ON 
      dbo.Program.ApplicationID = AppNew.ApplicationID INNER JOIN
      dbo.MilestoneStatus ON 
      dbo.Program.ProgramKey = dbo.MilestoneStatus.ProgramKey ON 
      dbo.MileStone_Target.MileStoneKey = dbo.MilestoneStatus.MilestoneKey INNER JOIN
      dbo.ApplicationProfile ON 
      AppNew.ApplicationID = dbo.ApplicationProfile.ApplicationID INNER JOIN
      dbo.Contracts INNER JOIN
      dbo.InvestorTarget ON 
      dbo.Contracts.ContractNumber = dbo.InvestorTarget.ContractNumber ON 
      dbo.MileStone_Target.TargetKey = dbo.InvestorTarget.TargetKey ON 
      dbo.Customer.FamilyID = AppNew.FamilyID
WHERE (AppNew.ID IN
          (SELECT DISTINCT ID
         FROM dbo.Program
         GROUP BY Program, ID
         HAVING (COUNT(DISTINCT ApplicationID) = 1)))