Hallo,
ich habe folgende Abfrage:
with DM1.DataModule1.IBCArtikelQuery do
begin
Close;
SQL.Clear;
SQL.Add('select A.*,E.EINHEIT,W.WARENGRUPPE,L.FIRMA,L.KREDITORENNR ');
SQL.Add('from ARTIKEL A ');
SQL.Add('left outer join EINHEITDB E on A.VERPEINHEIT=E.EID ');
SQL.Add('left outer join EINHEITDB E on A.VERBRAUEINHEIT=E.EID ');
SQL.Add('left outer join EINHEITDB E on A.LAGBESTEINHEIT=E.EID ');
SQL.Add('left outer join EINHEITDB E on A.MINBESTEINHEIT=E.EID ');
SQL.Add('left outer join WARENGRUPPEDB W on A.WARENGRUPPE=W.WID ');
SQL.Add('left outer join LIEFERANT L on A.LIEFERANT1=L.LID ');
ExecSQL;
end;
Diese meldet bei der zweiten (und natürlich den folgenden) "left outer join" folgenden Fehler: "Alias E conflicts with an alias in the same statement". Ok...soweit klar, woher der Fehler kommt. Eine Lösung ist, das E in den weiteren statements durch andere Buchstaben zu ersetzen - aber irgendwie nicht sonderlich elegant.
Hat jemand noch eine andere ("elegantere") Lösung? Insbesondere in Hinsicht auf eine mögliche, zukünftige "Vermehrung" der Einheiten-Felder, wird es irgendwann unübersichtlich...
Hartmut