2011-03-17 84 views
0

目前我正在发展与MYSQL INNODB一个网站,我需要有人来帮助我如何加入的表,所以我可以匹配报价我需要在MYSQL连接表帮助

这里的供应商是我的表结构

quote - quoteId,postcodeId 
provider - providerId 
areaProviderPreference - postcodeId,providerId 
postcode - postcodeId 

基本上我需要写一个MySQL查询其返回与报价postcodeId涵盖所有供应商的名单。有人可以帮我解决:)我完全在努力!

非常感谢。

干杯

回答

1
select p.* from provider p 
inner join areaProviderPreference ap on p.providerID = ap.providerID 
inner join quote q on ap.postcodeId = q.postcodeID 

另外,如果你需要邮政编码的细节也,那么你就需要一个额外的加入为

inner join PostCode pc on pc.postCodeId = ap.postcodeId 
1
SELECT p.providerid 
FROM provider p 
     JOIN areaproviderpreference app 
     ON app.providerid = p.providerid 
     JOIN quote q 
     ON q.quoteid = app.postcodeid 
GROUP BY p.providerid 

你需要

  • (areaproviderpreference指标.providerid)
  • (quote.quoteid)
  • (provider.providerid)

其实你并不需要事件JOIN报价,但您可能需要使用WHERE子句在那里。