2015-01-01 2 views
0

привет мне нужно, чтобы отобразить детали заказа для заказа клиента (OrderID, CUSTOMERID, itemdetails) я есть avalible идентификатор заказа и Emali, электронная почта coresponding к идентификатору клиента в моей таблице, и когда я пытаюсь следующее заявлениеСложные MySQL заявление

select a.*, b.* from customer_order a, order_item b where a.orderID = b.orderID and customerID = 30;

это прекрасно работает, но мне нужно использовать электронную почту клиента вместо customerID, но clientID - это моя связь между таблицами, поэтому мне нужно иметь ее в инструкции. как я могу использовать объединение или как я могу связать соответствующие поля в таблице customerID и электронной почте.

мой стол клиент имеет CUSTOMERID, CUSTOMERNAME, customerSurname, электронная почта

заказ столика имеют OrderID, CUSTOMERID

и OrderItem таблицы имеют OrderId и все элементы детали

пожалуйста, поделитесь, если у вас есть какие-либо идеи

+1

Вы говорите, что у вас есть три таблицы, и все же вы не используете их в своем запросе. В дополнение к тому, чтобы узнать, как задавать понятные вопросы, вы должны изучить правильный синтаксис 'join'. –

+0

этот оператор должен только показать, как результат должен выглядеть так, что оператор показывает это, но я хочу, чтобы у меня не было только идентификатора клиента, а английский - это мой второй язык, поэтому мой вопрос может странно звучать для большинства людей, чей английский является их первым языком –

+0

что именно вы планируете делать, когда у клиента есть несколько заказов? –

ответ

2

Возможно, вы можете просто соединить столы следующим образом:

SELECT 
    co.*, oi.* 
FROM 
customer c 
JOIN customer_order co ON c.customerID = co.customerID 
JOIN order_item oi ON co.orderID = oi.orderID 
WHERE 
c.email = [ the email you want ] 
Смежные вопросы