这是我的表结构,所有列十进制:
表
id column1 column2 column3
1 11.00 11.12 11.12
2 5.00 4.95 0
3 7.00 7.05 0
4 6.00 6.05 6.06
5 9.00 9.05 8.5
如果我这样查询:
List<stuff> stuffs = db.table.Where(a => a.column1 > a.column3).ToList();
它返回第2,3和5行。
但是,我需要检查column3是否为零,然后如果需要检查column2
像: column1&gt; if(column3&gt; 0)column3 else column2
从我的表中它应该只返回2和5.
我如何修改它来实现它:
List<stuff> stuffs = db.table.Where(a => a.column1 > (a.column3 == 0 ? a.column2 : true)).ToList();
非常感谢!
答案 0 :(得分:2)
你非常接近。只需将true
替换为a.column3
:
List<stuff> stuffs =
db.table.Where(a => a.column1 > (a.column3 == 0 ? a.column2 : a.column3)).ToList();