0
Top-Aufzeichnung einer äußeren verbundenen TabelleWählen Besten 1 aus Tabelle
auswählen Der Versuch, wenn es keine Einträge in der Tabelle B sind dann null
da sein, wenn es dann ein nur der erste mehrere Datensätze sind, sollten ausgewählt sein.
baute ich diese Abfrage aber ich bekomme Fehler
SELECT DISTINCT
A.Col1 , A.Col2, B.Col2, B.Col3
FROM
A LEFT OUTER JOIN (SELECT TOP 1 * FROM B WHERE B.Col1=A.Col1) A ON B.Col1=A.Col1
Der mehrteilige Bezeichner „B.Col1“ nicht gebunden werden konnte.
Wer weiß, wie man das löst?
Sie könnten eine 'OUTER APPLY' stattdessen verwenden möchten. – ZLK
Die "B.Col1", die nicht gebunden werden kann, verweist auf den letzten Teil "B.Col1 = A.Col1", weil B ein Alias der Tabelle in der Unterabfrage ist (die Sie auch als A aliased) und daher außerhalb nicht sichtbar ist die Unterabfrage Sie beziehen sich auch auf A.Col1 innerhalb der Unterabfrage, die auch nicht aufgelöst werden kann. Die Unterabfrage-Syntax ist viel schwerer zu lesen und zu warten. Verwenden Sie im Allgemeinen die CTE-Syntax. –