SELECT two.WorkOrderID,
te.EquipmentID,
tm.MaterialID,
CodMaterial,
MaterialName,
EquipmentName,
GoalPriceEnergyPerUnit,
pt.ParameterTypeID
FROM T_WorkOrders two
LEFT OUTER JOIN T_Equipment te
ON te.EquipmentID = two.EquipmentID
LEFT OUTER JOIN T_Materials tm
ON tm.MaterialID = two.MaterialID
LEFT JOIN T_Parameter_Type pt
ON ea.ParameterTypeID = pt.ParameterTypeID
WHERE WorkOrderNumber = 2
AND tm.MaterialID = 417
AND te.EquipmentID = 1076
AND ea.ParameterTypeID = 4918
Antwort
gerade abgeschlossen, was .. in den Kommentaren gesagt wurde
Sie Tabellen-Aliases in der Abfrage definiert haben gebunden sein könnte wie unten
T_Equipment te
T_Materials tm
T_Parameter_Type pt
und schließlich werden Sie eine Spalte mit einem Alias beziehen, die nicht in einem der oben genannten ist ..
ea.ParameterTypeID
verweisen, so dass Spalte den Aliasnamen verwendet, für die die Tabelle
Ich habe es versucht, aber es hat nicht funktioniert SELECT zwei.WorkOrderID, te.EquipmentID, tm.MaterialID, CodMaterial, MaterialName, EquipmentName, GoalPriceEnergyPerUnit, pt.ParameterTypeID FROM T_WorkOrders zwei LINKE OUTER JOIN T_Equipment te ON te.EquipmentID = zwei. EquipmentID LINKS OUTER JOIN T_Materials tm ON tm.MaterialID = two.MaterialID links OUTER join T_Parameter_Type pt link join T_Ausstattung_Adresse ea on ea.ParameterTypeID = pt.ParameterTypeID WHERE WorkOrderNumber = 2 AND tm.MaterialID = 417 UND te.EquipmentID = 1076 AND pt .ParameterTypeID = 4918 –
Sie gehört verbinden nicht Ihre Tabellen, weil Sie den falschen Alias verwenden. Versuchen Sie Blick auf Ihre Tabellen
T_Equipment
MaterialID
T_WorkOrders
zu sehen, die man eine Spalte, die Sie können auf 'Verbinden' mit ParameterTypeID. Ich kann Ihnen nicht mehr helfen, da Sie nicht genug Informationen über Ihre Tabellen und das, was Sie wirklich tun wollen, gegeben haben. Aber hier ist ein Versuch sowieso
SELECT two.WorkOrderID,
te.EquipmentID,
tm.MaterialID,
CodMaterial,
MaterialName,
EquipmentName,
GoalPriceEnergyPerUnit,
pt.ParameterTypeID
FROM T_WorkOrders two
LEFT JOIN T_Equipment te
ON te.EquipmentID = two.EquipmentID
LEFT JOIN T_Materials tm
ON tm.MaterialID = two.MaterialID
LEFT JOIN T_Parameter_Type pt
(-- this is not correct syntax
ON te.ParameterTypeID = pt.ParameterTypeID
ON tm.ParameterTypeID = pt.ParameterTypeID
ON two.ParameterTypeID = pt.ParameterTypeID
)
WHERE WorkOrderNumber = 2
AND tm.MaterialID = 417
AND te.EquipmentID = 1076
AND ea.ParameterTypeID = 4918
-Code oben ist Beispiel für mögliche Anwendungen von LEFT JOIN und ON, wo ich verschiedene Tabellen bin zu verbinden. Jetzt, wie Sie im Kommentar sehen können, wird dies nicht funktionieren, da der Code zwei ON-s extra hat. Alles, was ich hier versuche, ist, dir mögliche Kombinationen zu zeigen, die du vielleicht verpasst hast.
Auch der Code, den Sie in Kommentaren zu @TheGameiswar angegeben haben, ist nicht korrekt.
SELECT two.WorkOrderID,
te.EquipmentID,
tm.MaterialID,
CodMaterial,
MaterialName,
EquipmentName,
GoalPriceEnergyPerUnit,
pt.ParameterTypeID
FROM T_WorkOrders two
LEFT JOIN T_Equipment te
ON te.EquipmentID = two.EquipmentID
LEFT JOIN T_Materials tm
ON tm.MaterialID = two.MaterialID
LEFT JOIN T_Parameter_Type pt
--ON is missing, maybe something like
-- pt.SomeID = two.SomeID
LEFT JOIN T_Equipment_Address ea
ON ea.ParameterTypeID=pt.ParameterTypeID
WHERE WorkOrderNumber=2
AND tm.MaterialID = 417
AND te.EquipmentID = 1076
AND pt.ParameterTypeID = 4918
Es fehlt eine ON-Anweisung wie im Code-Kommentar angezeigt. Versuche das zu beheben. Auch die Verwendung von Microsoft SQL Server Management Studio hilft beim Schreiben von SQL-Code, da es Sie warnt, wenn Sie etwas verpassen. Außerdem benutze ich manchmal visuelle Erinnerungen für JOIN, nur um sicher zu sein, was ich tue, oft dieses von codinghorror.
Sie liegen falsch, weil es keine Spalte in der Tabelle T_WorkOrders namens ParameterTypeID gibt, so dass ich die ID nicht vergleichen kann –
Es ist nicht der Name der Spalte, der wichtig ist, sondern der Primärschlüssel, die Fremdschlüsselbeziehung.Die Frage ist, welche Daten haben Sie von T_Parameter_Type benötigen, wenn Sie sicher sind, müssen Sie etwas aus dieser Tabelle sollten Sie KEY-Spalte haben, die jede Zeile identifiziert, oft NameOfColumnID (endend mit ID ist wichtig). Danach sehen, wenn Sie unter Verwendung dieser ID-Spalte, die Spalte mit einer anderen Tabelle verbinden können. – Daniel
- 1. Der mehrteilige Bezeichner konnte nicht gebunden werden
- 2. Die mehrteilige Kennung konnte nicht gebunden werden
- 3. Mehrteilige Kennung konnte nicht gebunden werden?
- 4. die mehrteilige Bezeichner nicht
- 5. Einfache.Daten ORM. Die mehrteilige Kennung konnte nicht gebunden werden
- 6. Die mehrteilige Kennung konnte nicht gebunden werden. Sql Server
- 7. Die mehrteilige Kennung konnte nicht gebunden werden. [4104]
- 8. Die mehrteilige Kennung "t1.customer_code" konnte nicht gebunden werden?
- 9. SQL Server - CTE verursacht 'mehrteilige Kennung konnte nicht gebunden werden'
- 10. Der mehrteilige Bezeichner "publicdb.dbo.TBL_ITEM.FLD_PID" konnte nicht gebunden werden
- 11. Die mehrteilige Kennung "DB1..Students.studentnumber" konnte nicht gebunden werden
- 12. Die mehrteilige Kennung "Export_Shipping.site_num" konnte nicht gebunden werden
- 13. Die mehrteilige Kennung konnte nicht gebunden werden - SET-Klausel
- 14. SQL: mehrteilige Kennung "c.name" konnte nicht gebunden werden
- 15. Der mehrteilige Bezeichner konnte nicht an Kreuz gebunden werden.
- 16. Der mehrteilige Bezeichner konnte nicht gebunden werden - SQL Server 2014
- 17. Fehlermeldung "Der mehrteilige Bezeichner konnte nicht gebunden werden"
- 18. Der mehrteilige Bezeichner „В.Depo“
- 19. Die mehrteilige ID "AD.primary_name" konnte nicht gebunden werden.
- 20. SQL- Der mehrteilige Bezeichner nicht
- 21. Der mehrteilige Bezeichner „IncomeExpenses.OperationId“
- 22. Fehler: Die mehrteilige ID "ccm.AnalysisSegment" konnte nicht gebunden werden
- 23. SQL-Fehler: Die mehrteilige ID "tableName.ColumnName" konnte nicht gebunden werden
- 24. Aktualisierungsabfragefehler: Die mehrteilige ID konnte nicht gebunden werden
- 25. MS SQL - Die mehrteilige ID "Group.GroupId" konnte nicht gebunden werden
- 26. Mehrteilige ID konnte nicht gebunden werden, aber kein Join-Problem?
- 27. TSQL mehrteilige Bezeichner konnte nicht gebunden werden (explizite Join für SELECT x Tabelle in inneren Join)
- 28. Wie Der mehrteilige Bezeichner „r.StandardRate“ gebunden werden könnte, um nicht zu lösen
- 29. Unterstützung für eine SQL-Abfrage - Die mehrteilige ID konnte nicht gebunden werden
- 30. mehrteilige Bezeichner kann nicht gebunden werden Fehler beim Hinzufügen von "Order By" -Klausel in Access 2010
Ihre Abfrage verweist auf einen Tabellenalias 'ea', aber Sie haben keine Tabelle mit diesem Alias. –
Welche Art von Ergebnis erwarten Sie? Was möchten Sie tun? – Daniel