任何人都可以帮助我在SQL Server中使用正确的语法,我在更大的查询中看起来像这样吗
VSCS.ISCOTEACH,
VSCS.NoMARKS,
CASE (SELECT COUNT(*) FROM tbl_CoTeacher COTH WHERE COTH.CLAS_METG_TIME_PK=VSCS.CLAS_METG_TIME_PK
AND ISNULL(COTH.DELT_FLAG,0)=0) > 0 THEN 1 ELSE 0 END AS HASCOTEACH),
第三行当然不正确,我想要一个名为HASCOTEACH
的列,如果查询SELECT COUNT(*) FROM tbl_CoTeacher COTH WHERE COTH.CLAS_METG_TIME_PK=VSCS.CLAS_METG_TIME_PK AND ISNULL(COTH.DELT_FLAG,0)=0
返回大于1的值,则包含1,否则为0。
答案 0 :(得分:4)
你可以尝试这样..
(CASE when (SELECT COUNT(*) FROM tbl_CoTeacher COTH WHERE COTH.CLAS_METG_TIME_PK=VSCS.CLAS_METG_TIME_PK
AND ISNULL(COTH.DELT_FLAG,0)=0) > 0 THEN 1 ELSE 0 END) AS HASCOTEACH
答案 1 :(得分:1)
尝试以下内容:
VSCS.ISCOTEACH,
VSCS.NoMARKS,
CASE WHEN
(
SELECT COUNT(*) FROM tbl_CoTeacher COTH WHERE COTH.CLAS_METG_TIME_PK=VSCS.CLAS_METG_TIME_PK
AND ISNULL(COTH.DELT_FLAG,0)=0
) > 0 THEN 1 ELSE 0 END AS HASCOTEACH,