Was ist der beste oder effizienteste Weg, um mehrere aggregierte Ergebniswerte zu erhalten?
Grundsätzlich habe ich eine E-Mail-App und wollte alle Nachrichten für jeden Ordnertyp (Posteingang, gesendet, archiviert, markiert ...) wie unten definiert abrufen.
Hier ist eine Auswahl von Dingen, die ich in einem gespeicherten Proc-Aufruf ausführen möchte. (wobei [uid] die Benutzer-ID ist)
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
quelle
joinuid
Zeug fallen lassen und ein verwendencross join
?quelle