Sql - der mehrteilige Bezeichner nicht gebunden werden kann
select distinct
page0.MatterType,
page0.Name,
page0.MatterNo,
page0.security,
page0.serial,
page6.TribCaseNo,
contact0.Name as Cname
from
page0, page6, page14
left join
contact0 on page0.PrimaryContact = contact0.linkserial
where
page0.serial = page6.CaseSerial
AND page0.serial = page14.CaseSerial
AND (page14.staffmember = '100001^24' and page14.status != 'Inactive')
AND page0.status != 'Closed'
Ich bekomme immer eine Fehlermeldung, dass
the multi-part identifier page0.PrimaryContact konnte nicht gebunden werden.
Habe ich überprüft die syntax und die Rechtschreibung und die beiden scheinen richtig zu sein.
Dank!
- hat die PrimaryContact Spalten vorhanden sind, auf dem die page0 Tabelle?
- Gibt es eigentlich eine Spalte
page0.PrimaryContact
? Ich glaube, ich würde stellen Sie sicher, dass vor der Rechtschreibung. - Gibt es eine PrimaryContact Spalte auf page0?
- Ja. Existiert es.
- Sorry, ich sollte Hinzugefügt haben, dass ich doppelt überprüft diese Spalte nicht vorhanden.
- Ein Hinweis auf die JOIN-syntax. Sie sind mit einer Kombination von impliziten und expliziten syntax, die könnte Sie in Schwierigkeiten bringen. Sie sollte die explizite JOIN-syntax nur. Finden Sie in diesem Beitrag, warum: stackoverflow.com/questions/3731952
- kann Sie entfernen die Verknüpfung und nicht von page0, page6, page14, contact0 und hinzufügen "UND page0.PrimaryContact = contact0.linkserial", um Ihre where-Klausel?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Ihre Abfragen, indem Sie die Reihenfolge von Tabellen in
FROM
:Update.
Im Allgemeinen, werde ich Sie ermutigen, nicht mischen alte und neue syntax (so wie es hier gemacht),p.campbell's Lösung ist der richtige Weg, um Abfragen zu schreiben.
Den Sie brauchen, um explizite joins. Derzeit sind Sie über die alte join-syntax. Betrachten refactoring: