Dim t As String = "un状态 is not null and un状态<>'完工' and (待验结余<>0 or 发货结余<>0)"
current table.datatable.load(false)
currenttable.filter=t
其中,
待验结余为表达式列:IIF([un状态]='待检',[盒数],null)
发货结余也是表达式列:IIF([un状态]='待检',null,IsNull([结余],[盒数]))
其余为普通列。
对于这种带有if的表达式。在使用loadfilter时,怎么写?
我现在是load,然后filter。感觉数据多了加载数据很慢。想优化加载方式只load需要的数据。
或者sql command的怎么写?
se1ect * from {} where un状态 is not null and un状态<>'完工' and ?
se1ect *,(Case When un状态='待检' Then 盒数 Else 0 End) As 待验结余,(case when un状态='待检',0,ISNULL(结余,盒数)) as 发货结余 from {成品数据} where un状态 is not null and un状态<>'完工' and (待验结余 <> 0 or 发货结余<> 0)
为啥提示 “,”附近有语法错误。?
se1ect *, (Case When un状态='待检' Then 盒数 Else 0 End) As 待验结余, (case when un状态='待检' then 0 else ISNULL(结余,盒数) end) as 发货结余 from {成品数据} where un状态 is not null and un状态<>'完工' and (待验结余 <> 0 or 发货结余<> 0)
这个也不对。
列名 '发货结余' 无效。
列名 '待验结余' 无效。
如果[un状态]<>'待检',那么待验结余就是null,那么null是否符合【待验结余<>0】这个条件?
以下是引用有点蓝在2024/6/18 15:08:00的发言:
如果[un状态]<>'待检',那么待验结余就是null,那么null是否符合【待验结余<>0】这个条件?
可以改为0. 不影响结果
OK 了。。。
se1ect *, (Case When un状态='待检' Then 盒数 Else 0 End) As 待验结余, (case when un状态='待检' then 0 else ISNULL(结余,盒数) end) as 发货结余 from {成品数据} where un状态 is not null and un状态<>'完工' and ((Case When un状态='待检' Then 盒数 Else 0 End) <> 0 or (case when un状态='待检' then 0 else ISNULL(结余,盒数) end <> 0))