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或=。