Symmetrische Kreuzverbindung

Ich versuche, alle Paare zu extrahiereni,j von jedem Element in einer Tabelle gegen jedes Element in der gleichen Tabelle, hier meine Abfrage:

select a.Id L,b.id R into #cross from MyTable a cross join mytable b 

Ich bin in der Situation, woi,j == j,i es wird also nur die Hälfte des Datensatzes benötigt. Mein naiver Versuch ist:

select a.Id L,b.id R into #cross from MyTable a cross join mytable b 
where not exists
    (select * from #cross c where c.L=R and c.R=L)

Aber ich kann die Zieltabelle beim Einfügen nicht abfragen, wie von SQL Server gesagt:

The SELECT INTO statement cannot have same source and destination tables

Wie kann ich effizient vorgehen?

BEARBEITEN Nur als Referenz sagte ich "Ich brauche die Hälfte der Datensätze", das ist falsch, die Anzahl der Datensätze nach Berücksichtigungi,j == j,i istn*(n+1)/2

Antworten auf die Frage(1)

Ihre Antwort auf die Frage