2017-10-17 6 views
-3

Ich habe 3 Tabellen, Händler, Produkt und Hersteller. Ich werde HändlerID an die Abfrage übergeben und es sollte die Herstellerdetails zurückgeben.Join 3 Tabellen mit einer einzigen Abfrage

criteria: 
1)from the given input (retailerID) fetch productID from the retailer table. 
2)Using productID get the manufacturerID from product table. 
3)Get the complete details of manufacturer from manufacturer table using manufacturerID. 

Kann mir jemand helfen, dies zu lösen.Vielen Dank im Voraus.

+6

Was hast du bisher versucht? Sie müssen uns etwas Fortschritt zeigen. – sskoko

+1

Und fügen Sie auch einige Beispieltabellendaten und das erwartete Ergebnis hinzu - als formatierter Text (keine Bilder.) Und denken Sie daran, wenn jemand anderes Ihre Hausaufgaben macht, werden Sie nicht viel lernen. – jarlh

+0

SELECT * FROM Hersteller wo ManufacturerID = (wählen Sie ManufacturerID von Produkt wo ProductID = (Wählen Sie ProductID von Händler wo HändlerID = 1)) –

Antwort

0

Basierend auf der Beschreibung Ihrer Frage, habe ich verstanden, dass dies Ihre Anforderung ist:

select * 
from manufacturer 
where manufacturerID = (
    select manufacturerID 
    from Product 
    where productID = (
     select productID 
     from retailer 
     where [email protected]) 
    ) 

Above Abfrage in Unterabfrage-Format geschrieben, die sich leicht in Join-Format konvertiert werden können:

select * 
from Manufacturer m 
join Product p on m.manufacturerID = p.manufacturerID 
join retailer r on r.ProductID = p.ProductID 
where r.RetailerID = @retailerID