2016-04-16 20 views
1

Meine Tabellen in MySQL sind die folgenden: enter image description hereZwei verschiedene Daten aus derselben Tabelle

Wie eine SELECT erstellen, die zeigen: Name und Vorname des Käufers, seinen Kommentar über buyed Sache und Name mit dem Nachnamen des Verkäufers?

Bisher habe ich nur die Hälfte davon:

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

Bearbeiten Sie Ihre Frage kommen und es dort setzen. BTW, Sie werden bestimmte Joins anstelle von automatischen Joins benötigen, um die Beziehungen zu erhalten, die Sie brauchen. – BoltBait

+0

Ihre Auktionstabelle benötigt eine AuctionID, es sei denn, Ihre Datenbank speichert jeweils nur eine Auktion. Es sei denn, dafür steht die Angebotstabelle. – BoltBait

+0

Angebotstabelle enthält alle Angebote, Auktion zeigt Interessenten an angebotenen Produkten (und einen Preis, den sie zu zahlen bereit sind - nicht abgebildet). Die Realisierung enthält nur das "vom Verkäufer gewählte" Angebot. Ich weiß, Auktionstisch könnte besser sein als jetzt, aber es ist ebay.com Datenbank vereinfacht, denke ich. –

Antwort

2

Sie können mit einem inneren versuchen

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

OK, aber wie fügt man etwas zwischen buyer_surname und seller_name hinzu? In diesem Fall: ein Kommentar vom Käufer geschrieben? –

+0

Ich habe die Antwort aktualisiert .. füge c.comment in select hinzu. – scaisEdge

Verwandte Themen