SELECT g.* FROM jf_purchased_gift AS g WHERE g.purchase_batch_number = '674213834696691712'and g.merchandise_id = '78950000' ORDER BY IF(g.purchase_purpose = '1',(g.selection_application_status desc) 解决排序报错
时间: 2024-03-24 12:41:37 浏览: 122
专有设备订货合同模板书.doc
这个 SQL 查询语句在执行的时候遇到了问题,具体是因为 IF 函数的语法不正确。IF 函数的语法是 IF(expr1,expr2,expr3),其中 expr1 是一个条件表达式,如果该表达式为真,则返回 expr2,否则返回 expr3。在这个查询语句中,IF 函数的语法应该是:
```
ORDER BY IF(g.purchase_purpose = '1', g.selection_application_status, 0) DESC
```
这样就可以按照条件排序了。注意,这里的 IF 函数中的第三个参数必须要有,可以设置为 0 或者其他默认值。
阅读全文