Ich versuche, eine Abfrage basierend auf dem Versuch zu erstellen, einen Wert in einer Spalte einer Tabelle basierend auf den Werten einer anderen Spalte in einer anderen Tabelle zu suchen. Dies ist der Code, den ich bisher geschrieben habe,Mehrdeutiger Spaltenname, obwohl Spaltenname und Tabelle deklariert sind?
SELECT OrderDetails.OrderDetailID FROM OrderDetails
INNER JOIN OrderDetails
ON Products.ProductID = OrderDetails.ProductID
WHERE Products.SupplierID="5";
Durch die Ausführung von Code, ich habe die OrderDetailID der Zeile in der OrderID Tabelle, wo die SupplierID in der Tabelle Artikel 5. Zum Beispiel ist finden möchte,
die SupplierID von „Queso Cabrales“ ist 5 und dessen ProductID ist 11. Diese in der Tabelle Orderdetail von 11 zur Fremdschlüssel entspricht, und daher möchte ich der Primärschlüssel dieser Zeile zurückgeführt werden. In diesem Fall 1.
Highlighted OrderDetails Table
Im Moment bekomme ich einen „mehrdeutiger Spaltennamen“ Fehler in der ersten Zeile, obwohl ich erklärt habe sowohl die Tabelle und die Spaltennamen. Auch, wie soll ich SQL bitten, die Daten bezüglich anderer Tabellen zu holen. Ich weiß, dass ich "INNER JOIN" verwenden soll, aber wie führe ich das aus, so dass der WHERE-Befehl verwendet werden kann.
Du '' JOIN'ing OrderDetails' zu 'OrderDetails' auf' Products.ProductId'. Vielleicht wollten Sie stattdessen 'JOIN' auf' OrderDetails' und 'Products' setzen? – Siyual