Reputation: 483
If i post this Lines of Code:
SELECT Cheese.Chesse_Name
FROM Customer
INNER JOIN Customer ON Customer.Customer_ID = Orders.Customer_ID
INNER JOIN Orders ON Orders.Orders_ID = OrderSandwich.Orders_ID
INNER JOIN OrderSandwich ON OrderSandwich.Sandwich_ID = Sandwich.Sandwich_ID
INNER JOIN Sandwich ON Sandwich.Cheese_ID = Cheese.Cheese_ID
WHERE Customer.CustomerID = 1;
All i get from the DB is an Error
Fehler
SQL-Befehl: Dokumentation
SELECT Cheese.Chesse_Name
FROM Customer
INNER JOIN Customer ON Customer.Customer_ID = Orders.Customer_ID
INNER JOIN Orders ON Orders.Orders_ID = OrderSandwich.Orders_ID
INNER JOIN OrderSandwich ON OrderSandwich.Sandwich_ID = Sandwich.Sandwich_ID
INNER JOIN Sandwich ON Sandwich.Cheese_ID = Cheese.Cheese_ID
WHERE Customer.CustomerID = 1
LIMIT 0, 25
MySQL meldet: Dokumentation
#1066 - Not unique table/alias: 'Customer'
I'm now trying this for several hours not to say the hole day.
Here is the DB Diagram:
I would be very greatful if somebody right away see the mistake i'm makeing
Upvotes: 0
Views: 1314
Reputation: 3412
You are trying to join Customer
table with itself. Reorganize your JOIN
queries like following.
SELECT Cheese.Cheese_Name
FROM Customer
INNER JOIN Orders ON Customer.Customer_ID = Orders.Customer_ID
INNER JOIN OrderSandwich ON Orders.Orders_ID = OrderSandwich.Orders_ID
INNER JOIN Sandwich ON OrderSandwich.Sandwich_ID = Sandwich.Sandwich_ID
INNER JOIN Cheese ON Sandwich.Cheese_ID = Cheese.Cheese_ID
WHERE Customer.Customer_ID = 1;
Remember, you are calling the JOIN
statement, to join the mentioned table with the table above. For an example, if you call
Customer
INNER JOIN Orders ON Customer.Customer_ID = Orders.Customer_ID
You are joining the Customer
Table with the Orders
table. No need to mention Customer
table twice.
Upvotes: 3
Reputation: 35343
Just seems to me you need to shift all the inner join tables up one and change the last to cheese. (removing the unneeded/desired 2nd join to customers)
SELECT Cheese.Chesse_Name
FROM Customer
INNER JOIN Orders ON Customer.Customer_ID = Orders.Customer_ID
INNER JOIN Ordersandwich ON Orders.Orders_ID = OrderSandwich.Orders_ID
INNER JOIN sandwich ON OrderSandwich.Sandwich_ID = Sandwich.Sandwich_ID
INNER JOIN cheese ON Sandwich.Cheese_ID = Cheese.Cheese_ID
WHERE Customer.CustomerID = 1;
Upvotes: 1
Reputation: 2525
Try this:
SELECT Cheese.Chesse_Name
FROM Customer
INNER JOIN Orders ON Customer.Customer_ID = Orders.Customer_ID
INNER JOIN OrderSandwich ON Orders.Orders_ID = OrderSandwich.Order_ID
INNER JOIN Sandwich ON OrderSandwich.Sandwich_ID = Sandwich.Sandwich_ID
INNER JOIN Cheese ON Sandwich.Cheese_ID = Cheese.Cheese_ID
WHERE Customer.CustomerID = 1;
Upvotes: 1