Wie lautet die Syntax zum Angeben eines Linken Joins mit der Prä-ANSI-92-Syntax (d. H. * =), Wenn ein Teil der Where-Klausel die Bedingung "gleich einer Konstanten" hat? (In diesem Fall 100 ist die Konstante)PRE ANSI-92 Linke Join-Syntax (Sybase)
Beispiel:
SELECT t1.ID, t.*
FROM (select * from SybaseTable where ID=1) t, SqlServerTable t1
WHERE t1.ID *= 100 and t1.SeqNo *= t.SeqNo
In diesem Fall habe ich alle Datensätze wollen aus abgeleitete Tabelle 't', auch wenn 't1' kein Spiel hat. Ich möchte, dass t1.ID NULL in der SELECT-Klausel zurückgibt, wenn eine übereinstimmende Zeile in SeqNo nicht in 't' existiert.
Der Fehler, den ich erhalte, ist "Beide Begriffe eines äußeren Joins müssen Spalten enthalten".
Ich führe diese Abfrage in SQL Server 2005 für jetzt aus, aber es wird schließlich gegen eine Sybase-Implementierung verwendet, die die alte Joinsyntax erfordert.
Dank im Voraus
habe ich versucht, dass und es gibt keine Datensätze zurück, es nicht wie ein Link verhält Join wenn * = aus dem „= 100“ Teil entfernt wird – user52212
Hmm ... versuchen, die 100 auf der linken Seite des * = –
Or vielleicht ein Fall Bedingung: wenn t1.ID = 100 dann t1.ID ELSE Null –