Ich muss überprüfen, dass in meiner #Personal-Tabelle kein Client vorhanden sein sollte, der keine ABC-E-Mail erhalten hat.SQL-Alle Clients sollten mindestens eine bestimmte E-Mail erhalten
Ich schreibe mit Self Join .. ist es richtig, oder ich sollte einfach Unterabfrage schreiben?
meinem Tisch hat Liste von Client-IDs und E-Mail-Details senden. (Wie E-Mail Code, Datum des Ereignisses)
Select
*
from #Personal a
join #Personal b
on a.id=b.id
where b.emailcode<> 'ABC'
oder
select * from #Personal
where a.id in (select id from #personal where b.emailcode <>'ABC')
verwenden Ich denke, das ist falsch, warum: es wie wählen sollte * von #Personal A NOT EXISTS (Wählen Sie 1 aus #Personal B, wobei a.id = b.id und b.emailcode <> 'ABC'). Bitte Kommentar –
@nancyarora Ich benutze 'NOT EXISTS' und' NOT IN' daher wird es 'emailcode = 'ABC'', ich glaube, du bist nach der Liste der Leute, die eine bestimmte E-Mail nicht bekommen hat ??? Wenn das der Fall ist, sollte das funktionieren. –
nach meinem Datenverständnis, dann wird es alle IDs zurückgeben, die ABC nicht erhalten haben, aber hae erhalten haben, anderen E-Mail-Code wie CD, EF, GH zum Beispiel zu sagen. –