2012-03-30 3 views
-3

У меня есть таблица с полями:MySQL присоединиться два столбца, глядя на тот же стол

orderID 
collection 
delivery 
username 

сбор и доставка идентификаторы и соответствуют записи в таблице адресов:

addressID 
address1 
address2 
address3 
town 
country 

Как могу ли я написать запрос, который показывает все заказы для конкретного имени пользователя, но с полной информацией о адресе для сбора и доставки.

+0

выберите заказы. *, Address1 в collection_address1, addresses.address1 как delivery_name из заказов оставили присоединиться адреса на orders.delivery = addresses.addressID где имя пользователя = Но я просто получить тот же адрес 'Chris' как для сбора и доставки :-( – Chris

ответ

2

Вам просто нужно добавить псевдоним, к которому вы присоединились.

select * from orders 
join addresses collections on orders.collection = collections.addressID 
join addresses deliveries on orders.delivery = deliveries.addressID 
where username=<username> 
+0

Hi выберите * из заказов присоединиться адреса коллекции на orders.collection = collection.addressID присоединиться поставки адреса на orders.delivery = deliveries.addressID дает мне: ««коллекция Неизвестный столбец .addressID 'in' по статье «„ выберите * из заказов присоединиться адреса коллекции на orders.collection = addresses.addressID присоединиться поставки адреса на orders.delivery = addresses.addressID дает мне:“Неизвестный столбец„addresses.addressID“в» на статья " Это должно быть почти все? – Chris

+0

Да, извините, я это исправить. Я не тестировал его ... Вы видите слово после присоединения? Это псевдоним, который вы должны использовать в разделе on – haltabush

+0

Бум, гений! Он работает, спасибо. – Chris

Смежные вопросы