SQL Server,在'case'中选择语句

Art*_*t F 8 t-sql sql-server

任何人都可以帮助我在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),
Run Code Online (Sandbox Code Playgroud)

第三行当然不正确,我想要一个名为HASCOTEACH包含1 的列,如果查询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的值,则为 0.

Ami*_*ngh 5

你可以这样尝试

(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
Run Code Online (Sandbox Code Playgroud)