Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tổng biểu thức trình tạo trường hợp trong QueryDSL

Biểu thức lớp cơ sở không cho phép bạn áp dụng các tập hợp. Nếu bạn nhận thấy, mệnh đề khác của bạn thực sự trả về NumberExpression. Tất cả những gì bạn cần làm là sử dụng kiểu đó thay vì Biểu thức. Vì vậy, mã của bạn có thể trở thành:

NumberExpression<Integer> sourceCases = qTable.source.
        when(matchedValue1).then(new Integer(1)).
        otherwise(new Integer(0));

NumberExpression<Integer> newAccountCases = qTable.isNew.
        when(matchedValue2).then(new Integer(1)).
        otherwise(new Integer(0));

return queryDslJdbcTemplate.queryForObject(sqlQuery,
        new Mapping(qTable.filed1,
                    qTable.filed2,
                    qTable.id.count(),
                    sourceCases.sum(),
                    newAccountCases.sum());



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để python_select hoạt động với lệnh '$> python'?

  2. Chọn nhiều tổng với truy vấn MySQL và hiển thị chúng trong các cột riêng biệt

  3. Không thể kết nối với máy chủ MySQL cục bộ thông qua socket '/tmp/mysql.sock' (2)

  4. Mysqli và ràng buộc nhiều bộ giá trị trong quá trình chèn

  5. Hibernate không tạo bảng tham gia