Ich habe zwei Tabellen mit Aufgaben und Notizen und möchte eine Liste von Aufgaben mit der Anzahl der zugehörigen Notizen für jeden abrufen. Diese beiden Abfragen die Arbeit machen:Transact-SQL - Unterabfrage oder Links-Join?
select t.TaskId, (select count(n.TaskNoteId) from TaskNote n where n.TaskId = t.TaskId) 'Notes' from Task t -- or select t.TaskId, count(n.TaskNoteId) 'Notes' from Task t left join TaskNote n on t.TaskId = n.TaskId group by t.TaskId
Gibt es einen Unterschied zwischen ihnen und sollte ich einen über den anderen verwenden, oder sind sie nur zwei Möglichkeiten, um die gleiche Arbeit tun? Vielen Dank.
dito auf dem inneren Join - ich habe gesehen, dass ein großer Unterschied auf großen Satz (vorausgesetzt, das ist das richtige Verhalten, das Sie wollen, und Sie müssen möglicherweise eine ISNULL() oder ähnliche Funktion) –