2017-10-17 81 views
-3

我有3个表格,零售商,产品和制造商。我将零售商ID传递给查询,它应该返回制造商详细信息。使用单个查询加入3个表格

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. 

有谁能帮我解决这个问题。提前感谢。

+6

你试过什么了?你必须向我们展示一些进展。 – sskoko

+1

并且还添加一些示例表格数据和预期结果 - 作为格式化文本(而不是图片)。请记住,如果有其他人完成了作业,您将不会学到太多东西。 – jarlh

+0

SELECT * FROM manufacturer where ManufacturerID =(请从产品 中选择产品ID,其中productID =(从零售商处选择产品ID,其中零售商ID = 1)) –

回答

0

根据你的问题的描述,我了解,这是您的要求:

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

以上查询是写在子查询格式,它可以很容易地转换成联接格式:

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