soeren
Goto Top

THETA Style in SQL Server 2000 bei OUTER JOIN Abfragen

Hallo Leute,

ich habe ein Problem mit dem THETA Style bei einer Abfrage. Im Query Analyzer liefert folgende Abfrage eine Fehlermeldung
Abfrage:
SELECT m.member_no AS Mitgliedsnummer,
m.lastname + ' '+ m.middleinitial+' '+ m.firstname AS Name,
Convert(char(8),re.log_date,4) AS Log_Date,
re.ISBN,
t.title
FROM member m, item i, title t, reservation re
WHERE re.isbn = i.isbn
AND t.title_no = i.title_no
AND m.member_no IN (250,341, 1675)
AND m.member_no *= re.member_no
ORDER BY m.member_no

Fehler:
Server: Nachr.-Nr. 303, Schweregrad 16, Status 1, Zeile 1
Die reservation-Tabelle ist ein inneres Mitglied einer OUTER JOIN-Klausel. Dies ist unzulässig, wenn die Tabelle auch an einer regulären Verknüpfungsklausel beteiligt ist.

Sobald ich diese Abfrage im VIEW Builder des Enterprise Managers einfüge wird sie beim Ausführen automatisch umgewandelt und das richtige Ergebnis angezeigt.
Hier die umgewandelte Version:

SELECT TOP 100 PERCENT m.member_no AS Mitgliedsnummer, m.lastname + ' ' + m.middleinitial + ' ' + m.firstname AS Name, CONVERT(char(8), re.log_date,
4) AS Log_Date, re.isbn, t.title
FROM dbo.reservation re INNER JOIN
dbo.item i ON re.isbn = i.isbn INNER JOIN
dbo.title t ON i.title_no = t.title_no RIGHT OUTER JOIN
dbo.member m ON re.member_no = m.member_no
WHERE (m.member_no IN (250, 341, 1675))
ORDER BY m.member_no

Für mich zeigt dies, dass die Syntax im THETA Style eigentlich richtig ist. Worin liegt das Problem oder mache ich einen gedanklichen Fehler in der Reihenfolge der Tabellen. Ich habe es auch schon versucht, den OUTER JOIN in eine VIEW zu speichern und dann die ergänzenden Angaben auszuwählen - gleicher Fehler.

Vielen Dank für Hilfen !

Gruß Soeren


System:
SQL Server 2000 mit SP 4
auf Win 2k Server

Content-Key: 85822

Url: https://administrator.de/contentid/85822

Printed on: April 23, 2024 at 07:04 o'clock