我在我的网站上有一个数据网格,我从两张表中提取公司信息。使用UNION将数据拉入网格
我创建一个表单,基于3个滤波器(分类,州,市)
这些结果进行排序这是我的查询将数据加载到电网开始。我希望它填充将所有我的表数据直到用户决定过滤它,这就是为什么我使用UNION作为没有它我的查询正在等待我传递一个查询字符串值来完成它的WHERE语句。
SELECT * FROM BND_listing left join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
UNION
SELECT * FROM BND_listing left join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
WHERE (CategoryName = '[querystring:filter-Category]' OR '[querystring:filter-Category]' is NULL)
我不确定这是否是正确的操作。
我很难理解此查询的NULL参数。在页面加载时,没有查询字符串。
只有当用户按下“SORT”按钮时,才会将查询字符串添加到URL中。用户可以选择按1或全部3个过滤器进行排序,但在这种情况下,他们只能排序1个选项。查询字符串将为剩下的两个单独传递ALL。
IE:filter-Category/Barber%20Shop/filter-City/All/filter-State/All 这里用户只从1下拉菜单中选择'Barber Shop'并将City Drop32作为他们的下拉菜单默认选择。
我的查询是“侦听”查询字符串参数在我的应用程序上无法正常工作。但是,在SQL Management Studio中使用以下内容时,它会正确提取我的记录。
SELECT * FROM BND_listing left join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
WHERE (CategoryName = 'Barber Shop' OR '[querystring:filter-Category]' is NULL)
这将是我的数据网格查询,包括所有3个“Listening”WHERE语句。
SELECT * FROM BND_listing left join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
UNION
SELECT * FROM BND_listing left join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
WHERE (CategoryName = '[querystring:filter-Category]' OR '[querystring:filter-Category]' is NULL)
AND (city = '[querystring:filter-City]' OR '[querystring:filter-City]' IS NULL)
AND (state ='[querystring:filter-State]' OR '[querystring:filter-State]' IS NULL)
任何帮助,输入,例子,洞察力高度赞赏!
显示您的结果从第一次选择和第二次选择。 –
你好丹尼, 我已经添加了照片。 – UserSN
什么是[querystring:filter-Category],sry idk那。是从HTML输入值? –