我需要帮助在MYSQL中连接表

时间:2011-03-17 16:46:17

标签: mysql join

目前我正在使用MYSQL INNODB开发一个网站,我需要有人帮助我如何连接表格,以便我可以将提供商与报价相匹配

这是我的表结构

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

基本上我需要编写一个MYSQL查询,它返回所有提供者的列表,其中包含引用postcodeId。请有人帮助我:)我完全挣扎着它!

非常感谢。

干杯

2 个答案:

答案 0 :(得分:1)

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

此外,如果您还需要postCode详细信息,那么您还需要一个额外的连接

inner join PostCode pc on pc.postCodeId = ap.postcodeId

答案 1 :(得分: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子句。