2011-03-17 117 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子句在那裏。