Tôi khá chắc chắn rằng tôi đã nhìn thấy điều này ở đâu đó, nhưng tôi không thể tìm thấy thuật ngữ phù hợp để tôi gặp sự cố ...Cột có điều kiện cho truy vấn dựa trên các cột khác trong MySQL
Giả sử tôi có một bảng với thông tin người dùng (giả sử rằng nó được tạo ra bởi một người được trả tiền nhiều hơn tôi, vì vậy sửa đổi lược đồ không phải là một tùy chọn.) Trong số các cột thông tin người dùng khác nhau là các cột cho DOB và chức danh. Tôi muốn có một truy vấn mà, dựa trên những gì là trong những cột, sẽ bao gồm một cột phụ gọi là "Real_Title", ví dụ:
User_id Job_Title DOB
joe_1 manager 01/01/1950
jim_1 associate 01/01/1970
jill_1 associate 01/01/1985
jane_1 manager 01/01/1975
truy vấn:
SELECT User_id, Real_Title FROM users
IF (YEAR(DOB) < 1980 AND Job_Title = "manager")
{Real_Title = "Old Fart"}
ELSE IF (YEAR(DOB) < 1980 AND Job_Title = "associate")
{Real_Title = "Old Timer"}
ELSE IF (YEAR(DOB) > 1980 AND Job_Title = "manager")
{Real_Title = "Eager Beaver"}
ELSE IF (YEAR(DOB) > 1980 AND Job_Title = "associate")
{Real_Title = "Slacker"}
Tôi biết ở trên không chỉ sai nhưng cũng được mã hóa thực sự không hiệu quả, nhưng tôi muốn có ý tưởng trên.
Có cách nào, không sử dụng kết nối, để điền cột dựa trên thông tin trong một hoặc nhiều cột khác trong cùng một bảng không?
Hiện tại tôi đang sử dụng nội dung nào đó trong tập lệnh PHP sau khi thu được kết quả vào các nhóm tôi muốn, nhưng nếu có thể thực hiện trong truy vấn, điều đó sẽ chuyển truy vấn sang các tập lệnh và ngôn ngữ khác dễ dàng hơn nhiều.
Cảm ơn!
DOB <1980 = Old Fart ?! – JohnB
Kiểm tra tuổi của tôi và thông báo tôi là một bộ hẹn giờ cũ ở mức tốt nhất. – Anthony