【发布时间】:2016-10-31 21:15:50
【问题描述】:
我创建了一个列表页面,其中有 3 个表格
BND_Listing BND_ListingCategories BND_ListingJunction
联结表包含 ListingID 和 CategoryID 以匹配哪些列表属于哪些类别。
我正在使用以下 select 语句将这 3 个表中的数据提取到我网站上的网格中。
SELECT DISTINCT l.*, c.CategoryName
FROM BND_Listing l
Join BND_ListingJunction j
on j.Junc_LID = l.LID
join BND_ListingCategories c
on c.CatId = j.Junc_CatID
Where (c.CategoryName = '[querystring:filter-Category]' or
'[querystring:filter-Category]'='All')
and (City = '[querystring:filter-City]' or
'[querystring:filter-City]'='All')
and (Region= '[querystring:filter-State]' or
'[querystring:filter-State]'='All')
and (Country= '[querystring:filter-Country]' or
'[querystring:filter-Country]'='All')
and isnull(Company,'') <> ''
Order by l.Company, l.LID
以下查询工作正常,但由于我在多个类别中有一些列表,因此它复制了网格上每个类别的列表。
我想一次只显示唯一的 1 个列表,即使它们可能属于多个类别。
我不确定如何做到这一点。我有另一篇文章解释了我是如何走到这一步的。 Eliminate duplicates in Join over 3 Tables
任何例子,见识见识!
【问题讨论】: