T-SQL查询以搜索表字段中的"Keywords"。

19 浏览
0 Comments

T-SQL查询以搜索表字段中的"Keywords"。

我正在尝试在我的网站上创建一个搜索文本框,当提交时,会将“string-keyword”传递到我的表格中,并提取所有与该关键字匹配的记录。

我需要设置我的表格,使其能够通过查询字符串通过表单传递的参数来“监听”。

我不确定如何处理这个问题。任何见解、提示或示例都将不胜感激。

更新-------

这是我的表格用来填充记录的查询。除了城市/地区/国家之外,我还想将一个只查看BND_Listing表中'Company'字段的关键字搜索功能整合进来。

select * FROM BND_listing right join BND_ListingCategories
on BND_Listing.CatID=BND_ListingCategories.CatID
where 
 (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 Company ASC

0
0 Comments

问题的出现的原因:用户想要在数据库表字段中搜索关键词,但是不知道如何编写查询语句来实现。

解决方法:用户可以使用以下的T-SQL查询语句来实现在表字段中搜索关键词的功能:

DECLARE @Keyword VARCHAR(256) --或者其他需要的大小
SET @Keyword = 'some text'
SELECT SomeColumns
FROM SomeTable
WHERE aColumn LIKE '%' + @Keyword + '%'

另外,用户还可以参考使用VB中的SqlCommand来实现该功能的方法。具体可以参考链接:https://stackoverflow.com/a/251311/6167855

用户感谢了提供的例子,并表示需要花一些时间来理解其中的原理。用户还提到需要修改代码来从应用程序中获取关键词,并在表的“Company Name”字段中搜索匹配的结果,并只返回这些结果。用户还提到之前已经使用了类似的方法来实现城市/州/地区的搜索功能,但是这次的搜索框是一个文本框,用户可以输入一个字符串,可能不完全匹配1个或多个数据行。

回答者指出用户仍然需要使用SELECT语句来实现该功能,并且可以使用以下的查询条件来实现搜索字段的可选性:

WHERE @Keyword IS NULL or [Company Name] LIKE '%' + @Keyword + '%'

用户提到出现了一个错误:“Must declare the scalar variable ‘@Keyword’”。回答者解释这是一个SQL错误,并要求用户将SQL代码添加到原始帖子中以便更好地理解问题。

用户表示已经尝试将查询语句导入到SQL MS中,并替换了[CompanyName]为一个具体的值,以测试是否能够获取结果。用户还提到已经在提交表单中添加了一个参数“search=[Company]”。用户询问如何使查询只在“Company”列中进行搜索。

根据用户的描述,可以推断出用户想要在数据库表的“Company”字段中搜索关键词,并返回匹配的结果。用户可以使用以下的查询条件来实现该功能:

WHERE @Keyword IS NULL or [Company] LIKE '%' + @Keyword + '%'

以上就是关于“T-SQL query to search table-field for 'Keywords'”问题的出现原因和解决方法的整理。

0