2016-04-16 5 views
1

Мои таблицы в MySQL являются следующие: enter image description hereДве разные данные из одной таблицы

Как создать ВЫБРАТЬ, который будет показывать: имя и фамилия покупателя, его комментарий о куплен вещь и имя с фамилией продавца?

До сих пор я только половина из них:

SELECT User.name, User.surname, Realization.comment 
FROM User, Realization, Auction, Offer 
WHERE Realization.id_vote = Auction.id_voice AND Auction.id_buyer = User.id_user AND Offer.id_offer=Auction.id_offer; 
+1

Изменить свой вопрос и поставить его там. BTW, вам понадобятся конкретные объединения вместо автоматического объединения, чтобы получить нужные вам отношения. – BoltBait

+0

Ваша таблица аукциона нуждается в AuctionID, если только ваша база данных не будет хранить только один аукцион за раз. Если это не та таблица предложений. – BoltBait

+0

Таблица предложений содержит все предложения, на аукционе показаны люди, заинтересованные в предлагаемых продуктах (и выигрыш, который они готовы платить - не показан на картинке). Реализация содержит только «выбранную» по предложению продавца. Я знаю, что таблица аукциона может быть лучше, чем сейчас, но я думаю, что это упрощенная база данных ebay.com. –

ответ

2

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

select a.name as buyer_name, a.surname as buyer_surname, c.comment 
    e.name as seller_name, e.surname as seller_surname 
from User as a 
Inner Join Auction as b on b.id_buyer = a.id_user 
inner join Realization as c on c.id_voice = b.id_voice 
inner join Offer as d on d.id_offer = b.id_offer 
inner join User as e on d.id_seller = e.id_user; 
+0

Хорошо, но как добавить что-то между buyer_surname и seller_name? В этом случае: комментарий, написанный покупателем? –

+0

У меня есть ответ. Добавьте c.comment в select .. – scaisEdge

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