指定非布尔类型的表达式

时间:2016-04-22 17:34:20

标签: tsql boolean syntax-error

无法弄清楚为什么这个查询不会运行,因为它说我没有布尔语句应该是。

我得到的错误说:

  

执行查询时发生错误。   在预期条件的上下文中指定的非布尔类型的表达式,在“AND”附近。 (Microsoft SQL Server报表生成器)

     

服务器名称:xxxxxxxxxx
  错误号码:4145
  严重程度:15
  州:1
  行号:9

SELECT 
REF_TPI_NPI_PHYS.MNE,
REF_TPI_NPI_PHYS.REFERRING,
RPT_MK_PRACT_PHYS_PT_CNT.COUNT_PTS AS TOTAL_PTS,
Sum(IIf(HBA1C_DATE IS NOT NULL, 1, 0)) AS COUNT_HBA1C,

Format((Sum(IIf(HBA1C_DATE IS NOT NULL, 1, 0)) / ([RPT_MK_PRACT_PHYS_PT_CNT].COUNT_PTS)), 'Percent') AS PANELED_HBA1C,

Format(Sum(IIf(HBA1C_VALUE IS NOT NULL AND IsNumeric(CAST(HBA1C_VALUE AS FLOAT)) AND CAST(HBA1C_VALUE AS FLOAT) <= 100, 1, 0))) / Sum(IIf(HBA1C_DATE IS NOT NULL, 1, 0)), 'Percent') AS HBA1C_COMP

Sum(IIf(LDL_DATE IS NOT NULL, 1, 0)) AS COUNT_LDL,

Format((Sum(IIf(LDL_DATE IS NOT NULL, 1, 0)) / ([RPT_MK_PRACT_PHYS_PT_CNT].COUNT_PTS)), 'Percent') AS PANELED_LDL,

Format(Sum(IIf(LDL_VALUE IS NOT NULL AND IsNumeric(CAST(LDL_VALUE AS FLOAT)) AND CAST(LDL_VALUE AS FLOAT) <= 100, 1, 0))) / Sum(IIf(LDL_DATE IS NOT NULL, 1, 0)), 'Percent') AS LDL_COMP

FROM 
(
  (
    TBL_HBA1C_LDL LEFT JOIN TBL_REGISTRATION
    ON CAST(RTRIM(LTRIM(TBL_HBA1C_LDL.PAT_MRN)) AS INTEGER) = TBL_REGISTRATION.MRN
  ) 

  LEFT JOIN 
  REF_TPI_NPI_PHYS
  ON TBL_REGISTRATION.PCP = REF_TPI_NPI_PHYS.REFERRING
)

LEFT JOIN 
RPT_MK_PRACT_PHYS_PT_CNT
ON TBL_REGISTRATION.PCP = RPT_MK_PRACT_PHYS_PT_CNT.PCP 

GROUP BY 
REF_TPI_NPI_PHYS.MNE,
REF_TPI_NPI_PHYS.REFERRING,
RPT_MK_PRACT_PHYS_PT_CNT.COUNT_PTS

ORDER BY 
REF_TPI_NPI_PHYS.MNE,
REF_TPI_NPI_PHYS.REFERRING

0 个答案:

没有答案