我有3张桌子,我想知道怎样才能用这种设置进行三重连接(如果有的话)?
First Table: LOCATIONS_TABLE
locationID
websiteID
locationCity
locationState
locationCountry
locationURL
Second Table: PREF_TABLE
pref_ID
Pref_LocationID
Pref_WebsiteID
Pref_SavedTitle
Third Table: WEBSITECATEGORY_TABLE
wbcatID
websiteID
WBLinkCategoryParentID
WBLinkTitle
WBLinkURL在第二个表中,用户对于他们保存的位置具有一个存储首选项( Pref_SavedTitle ),以供以后参考。
我拥有的当前SQL语句只执行双重内部连接,它是.
SELECT
LOCATIONS_TABLE.LocationWebsiteID,
LOCATIONS_TABLE.locationCity,
LOCATIONS_TABLE.locationState,
LOCATIONS_TABLE.locationCountry,
LOCATIONS_TABLE.locationURL,
PREF_TABLE.Pref_SavedTitle
FROM PREF_TABLE INNER JOIN LOCATIONS_TABLE
ON PREF_TABLE.Pref_LocationID = LOCATIONS_TABLE.LocationID
WHERE PREF_TABLE.Pref_SavedTitle = 'AlabamaPREF'这会返回……的样本数据。
LocationWebsiteID = 2
locationCity = Mobile
locationState = Alabama
locationCountry = United States
locationURL = alabama.bmv.org
Pref_SavedTitle - AlabamaPREF 第三表有……的样本数据。
wbcatID = 1
websiteID = 2
WBLinkCategoryParentID = 0
WBLinkTitle = Alabama Resources
WBLinkURL = /alabama-resources这正好完成了它需要做的事情,即返回与先前存储在LOCATION_TABLE中的LocationID相等的所有PREF_TABLE项。
然而,我有一个第三个表,我需要添加到这个等式(这是第三个表)上面列出的。我需要能够以某种方式链接websiteID上的第三个表,以便它知道WBLinkTitle和WBLinkURL与特定的websiteID相关联。
最后的输出..。我需要能把结果拉出来.
LOCATIONS_TABLE.websiteID,
LOCATIONS_TABLE.locationURL,
WEBSITECATEGORY_TABLE.WBLinkTitle,
WEBSITECATEGORY_TABLE.WBLinkURL根据我的样本数据..。
websiteID = 2
locationURL = alabama.dmv.org
WBLinkTitle = Alabama Resources
WBLinkURL = /alabama-resourcesSQLFIDDLE EXAMPLE
发布于 2015-01-04 23:06:55
更新v-1
我已经根据您的评论更新了答案(现在第三个表是内部连接到PREF_TABLE,附加条件添加到第一个连接:AND PREF_TABLE.Pref_WebsiteID = LOCATIONS_TABLE.LocationWebsiteID,以防止所有位置加载):
SELECT
LOCATIONS_TABLE.LocationWebsiteID,
LOCATIONS_TABLE.locationCity,
LOCATIONS_TABLE.locationState,
LOCATIONS_TABLE.locationCountry,
LOCATIONS_TABLE.locationURL,
PREF_TABLE.Pref_SavedTitle,
WEBSITECATEGORY_TABLE.WBLinkTitle,
WEBSITECATEGORY_TABLE.WBLinkURL
FROM
PREF_TABLE
INNER JOIN LOCATIONS_TABLE
ON PREF_TABLE.Pref_LocationID = LOCATIONS_TABLE.LocationID
AND PREF_TABLE.Pref_WebsiteID = LOCATIONS_TABLE.LocationWebsiteID
INNER JOIN WEBSITECATEGORY_TABLE
ON WEBSITECATEGORY_TABLE.websiteID = PREF_TABLE.Pref_WebsiteID
WHERE
PREF_TABLE.Pref_SavedTitle = 'AlabamaPREF'https://stackoverflow.com/questions/27771315
复制相似问题