Cách tốt nhất hoặc hiệu quả nhất để có được nhiều giá trị kết quả tổng hợp là gì?
Về cơ bản, tôi có một ứng dụng email và muốn nhận tất cả số lượng tin nhắn cho từng loại thư mục (hộp thư đến, đã gửi, lưu trữ, gắn cờ ...) như được định nghĩa dưới đây.
Đây là một ví dụ về những điều tôi đang cố gắng thực hiện trong một cuộc gọi Proc được lưu trữ. (trong đó [uid] là ID người dùng)
SELECT * FROM Message
Inbox WHERE [to] = [uid]
Unread WHERE [to] = [uid] and isread = 0
Flagged WHERE [to] = [uid] and isFlagged = 1
Drafts WHERE [to] = [uid] and isDraft = 1
Sent Messages WHERE [from] = [uid]
Archived Messages WHERE [to] = [uid] and isArchived = 1