内部连接 3 个表
Inner Join 3 tables
我有 3 个 table,我想知道如何使用这种类型的设置进行三重连接?
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
第二个 table 是用户有商店偏好的地方,其中 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'
这个returns样本数据...
LocationWebsiteID = 2
locationCity = Mobile
locationState = Alabama
locationCountry = United States
locationURL = alabama.bmv.org
Pref_SavedTitle - AlabamaPREF
第 3 个 table 的样本数据为...
wbcatID = 1
websiteID = 2
WBLinkCategoryParentID = 0
WBLinkTitle = Alabama Resources
WBLinkURL = /alabama-resources
这正是它需要做的事情,即 returns 我所有 LOCATION_TABLE 项等于先前存储在 PREF_TABLE.[=17= 中的 LocationID ]
但是我有第三个 table 需要添加到上面列出的这个等式(这是第三个 Table)。我需要能够以某种方式 link 网站 ID 上的第三个 Table,以便它知道 WBLinkTitle 和 WBLinkURL 与该特定网站 ID
相关联
关于最终输出...我需要能够提取列的结果...
LOCATIONS_TABLE.websiteID,
LOCATIONS_TABLE.locationURL,
WEBSITECATEGORY_TABLE.WBLinkTitle,
WEBSITECATEGORY_TABLE.WBLinkURL
根据我的样本数据会是...
websiteID = 2
locationURL = alabama.dmv.org
WBLinkTitle = Alabama Resources
WBLinkURL = /alabama-resources
已更新 v-1
我已经根据您的评论更新了答案(现在第 3 个 table 是内连接到 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'
我有 3 个 table,我想知道如何使用这种类型的设置进行三重连接?
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
第二个 table 是用户有商店偏好的地方,其中 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'
这个returns样本数据...
LocationWebsiteID = 2
locationCity = Mobile
locationState = Alabama
locationCountry = United States
locationURL = alabama.bmv.org
Pref_SavedTitle - AlabamaPREF
第 3 个 table 的样本数据为...
wbcatID = 1
websiteID = 2
WBLinkCategoryParentID = 0
WBLinkTitle = Alabama Resources
WBLinkURL = /alabama-resources
这正是它需要做的事情,即 returns 我所有 LOCATION_TABLE 项等于先前存储在 PREF_TABLE.[=17= 中的 LocationID ]
但是我有第三个 table 需要添加到上面列出的这个等式(这是第三个 Table)。我需要能够以某种方式 link 网站 ID 上的第三个 Table,以便它知道 WBLinkTitle 和 WBLinkURL 与该特定网站 ID
相关联关于最终输出...我需要能够提取列的结果...
LOCATIONS_TABLE.websiteID,
LOCATIONS_TABLE.locationURL,
WEBSITECATEGORY_TABLE.WBLinkTitle,
WEBSITECATEGORY_TABLE.WBLinkURL
根据我的样本数据会是...
websiteID = 2
locationURL = alabama.dmv.org
WBLinkTitle = Alabama Resources
WBLinkURL = /alabama-resources
已更新 v-1
我已经根据您的评论更新了答案(现在第 3 个 table 是内连接到 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'