Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用子查询时的大小写_Sql_Syntax Error_Case - Fatal编程技术网

Sql 使用子查询时的大小写

Sql 使用子查询时的大小写,sql,syntax-error,case,Sql,Syntax Error,Case,我正在尝试创建一个查询,该查询将标记属于贷款编号列表中的每一行项目,并将其与子查询组合在一起 到目前为止,我的脚本编写如下: case when loannumber in ( select distinct cast(loannumber as float) from tbl_one where exists (select a.loannumber, case when a.FlagA = 0 and

我正在尝试创建一个查询,该查询将标记属于贷款编号列表中的每一行项目,并将其与子查询组合在一起

到目前为止,我的脚本编写如下:

case when loannumber in 
    (
        select distinct cast(loannumber as float)
        from tbl_one
            where exists (select a.loannumber,
            case when a.FlagA = 0 and b.[NFC] = 'N/A' then 'x'
                    when a.FlagA = 0 and b.[NFC] <> 'N/A' and sum(a.Amount) > b.[NFC] then 'x'
                    when a.FlagA = 1 and b.[FC] = 'on approval' then 'x'
                    when a.FlagA = 1 and b.[FC] <> 'on approval' and sum(a.Amount) > b.[FC]then 'x'
                end as [error flag]
            from tbl_one a
            inner join lkp_table b
            on a.State = b.state
            group by a.loannumber, FlagA, [NFC], [FC])
    )
    then 'Error 1' else null end as [Error 1],

当我运行子查询时,它正确地标识了应该标记的所有贷款编号,但当我将其放入case-When语句中时,它最终标记了人口中的每个贷款编号。有没有办法解决这个问题?

不需要在子查询中使用DISTINCT-为什么要使用group by?IN float似乎有点冒险。您不应该将float数据类型与IN或=。