Đặt lại tên cho Column và tái sử dụng nó cho truy vấn có HAVING thì xuất hiện lỗi

Em có Truy vấn 1 câu lệnh như hình , khi em đặt lại tên cho Column và muốn tái sử dụng nó cho HAVING thì xuất hiện lỗi. Cho em hỏi là em sai ở đâu vậy ạ? Em cảm ơn nhiều!!

Đây là Diagrams của em


Câu lệnh truy vấn KHÔNG sử dụng tên mới tạo “TONGTIEN” và cho ra kết quả

Câu lệnh truy vấn CÓ sử dụng tên mới tạo “TONGTIEN” , báo lỗi

field tổng tiền đó là do bạn dùng công thức để tạo ra khi lấy kết quả
còn having ở dưới có hiểu field đó là gì đâu, làm gì có field đó
thay chỗ báo lỗi đó bằng cái biểu thức sum như trên

3 Likes

Em hiểu rồi ạ, Em cảm ơn!!

TONGTIEN là column alias, không phải là column name.

  • Column alias được tạo ra trong mệnh đề SELECT và có thể dùng trong mệnh đề ORDER BY.
  • Không được sử dụng column alias trong WHERE, GROUP BY, HAVING,…
3 Likes

Cảm ơn nhiều ạ!!!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?