source_tbl: EMAIL_ADDR, RolleIst das Abfrageergebnis der ausgewählten Unterabfrage statisch in einem T-Sql Into in select ..?
target_tbl: EMAIL_ADDR, Rollen
source_tbl können viele E-Mail-Adressen haben. target_tbl kann eine eindeutige E-Mail-Adresse (die Rolle in source_tbl in Rollen in target_tbl konsolidiert - gerade FYI)
Meine Sorge ist das Duplizieren keine E-Mail-Adresse in target_tbl (keine Einschränkungen sind anstelle von dba-Setup)
Ich habe den Verdacht, dass die Unterabfrage in einem Insert in Select einmal ausgeführt wird und diese Ergebnismenge dann vom Insert verwendet wird. Wenn dies der Fall ist, dann wird eine Abfrage wie das wird nicht funktionieren:
insert into target_tbl
(email_addr, roles)
select
src.email_addr,
src.role
from source_tbl src
where src.email_address not in (select email_addr from target_tbl)
nichts finden können, dass mein Verdacht bestätigt, zu überprüfen, ob jemand mich auf die Dokumentation verweisen kann, dass mir diese Bestätigung gibt
Können Sie ein wenig Informationen über die Rollen bereitstellen. Ich denke, dass Sie in der Lage sein könnten, zu schwenken und zu verschmelzen, und dort eine Handvoll anderer Lösungen, die viele Zeilen in eine 1-Zeilen-Beziehung bringen würden. Können Sie einige Beispieldaten in Ihrer Frage angeben, damit wir eine Antwort für Sie ausrichten können. Hinweis: Sie können sich auch Ihren Ausführungsplan ansehen, um zu sehen, ob die Schleife pro Zeile ausgeführt wird oder ob eine einzelne Suche von target_tbl ausgeführt wird. Ich vermute, dass diese Abfrage nicht RBAR ist. –
Warum brauchen Sie Dokumentation von etwas, das Sie leicht durch Testen überprüfen können? –
Danke für die Pivot Lead - das war ein anderes Problem, auf das ich nach meiner anfänglichen Frage @MattA stoßen würde. – mmv1219