使用一列中的字符串在另一个SQL中的字符串内搜索

使用一列中的字符串在另一个SQL中的字符串内搜索,sql,string,oracle,search,concatenation,Sql,String,Oracle,Search,Concatenation,我试图使用SQL中另一列的字符串在句子中搜索。我有一个很大的关键词列表,它们的等级从1到6。我试图搜索推特上的数据,看看人们对某些电影的看法(比如《毁灭拉尔夫》),并给电影一个总分。我遇到的问题是,从推特上获取的数据并没有被分解,但仍然是完整的句子。我想不出一个办法在句子中搜索关键词。下面是一个有效的查询: SELECT SUM(K.Score) FROM wreck_it_ralph WIR, Keyword K WHERE t_text LIKE '%fantastic%'

我试图使用SQL中另一列的字符串在句子中搜索。我有一个很大的关键词列表,它们的等级从1到6。我试图搜索推特上的数据,看看人们对某些电影的看法(比如《毁灭拉尔夫》),并给电影一个总分。我遇到的问题是,从推特上获取的数据并没有被分解,但仍然是完整的句子。我想不出一个办法在句子中搜索关键词。下面是一个有效的查询:

SELECT SUM(K.Score) 
FROM wreck_it_ralph WIR, Keyword K
WHERE t_text LIKE '%fantastic%'
       AND K.word = 'fantastic';
以下是我尝试使用连接的查询,但未成功:

SELECT SUM(K.Score) 
FROM Wreck_it_Ralph WIR, Keyword k
WHERE t_text LIKE ('%' + k.word + '%');

不同的数据库有不同的连接字符串的方法。在Oracle或Postgres中,请尝试以下操作:

SELECT SUM(K.Score) 
FROM Wreck_it_Ralph WIR, Keyword k
WHERE t_text LIKE '%' || k.word || '%'
在SQL Server或Sybase中:

SELECT SUM(K.Score) 
FROM Wreck_it_Ralph WIR, Keyword k
WHERE t_text LIKE '%' + k.word + '%'
在MySQL中:

SELECT SUM(K.Score) 
FROM Wreck_it_Ralph WIR, Keyword k
WHERE t_text LIKE concat('%', k.word, '%')

请注意,部分单词匹配存在问题。所以,有些“不喜欢”会和“喜欢”匹配。您可能希望查看正在使用的数据库的全文功能,因为其中考虑了标点符号、全文和停止列表。

不同的数据库有不同的字符串连接方式。在Oracle或Postgres中,请尝试以下操作:

SELECT SUM(K.Score) 
FROM Wreck_it_Ralph WIR, Keyword k
WHERE t_text LIKE '%' || k.word || '%'
在SQL Server或Sybase中:

SELECT SUM(K.Score) 
FROM Wreck_it_Ralph WIR, Keyword k
WHERE t_text LIKE '%' + k.word + '%'
在MySQL中:

SELECT SUM(K.Score) 
FROM Wreck_it_Ralph WIR, Keyword k
WHERE t_text LIKE concat('%', k.word, '%')
请注意,部分单词匹配存在问题。所以,有些“不喜欢”会和“喜欢”匹配。您可能希望查看正在使用的数据库的全文功能,因为这将考虑标点符号、全文和停止列表。

MSSQL-:

SELECT SUM(K.Score) 
FROM Wreck_it_Ralph WIR, Keyword k
WHERE t_text LIKE '%' + k.word + '%';
MSSQL-:

SELECT SUM(K.Score) 
FROM Wreck_it_Ralph WIR, Keyword k
WHERE t_text LIKE '%' + k.word + '%';

从Crank_it_Ralph WIR中选择SUM(K.Score),关键字K,其中t_文本类似“%”+K.word+“%”;连接查询似乎可以工作。你用的是什么数据库服务器?是校园里的。Oracle,我相信我的评论中有一个查询我修复了这个查询,所以它是WIR.t_文本类似('%'+k.word+'%')的地方,但现在我从crask_it_Ralph WIR中得到一个错误,上面写着“无效数字”选择SUM(k.Score),关键字k,其中t_文本类似'%+k.word+';连接查询似乎可以工作。你用的是什么数据库服务器?是校园里的。Oracle,我相信我的评论中有一个查询我修复了这个查询,所以它是WIR.t_文本类(“%”+k.word+“%”),但现在我得到一个错误,上面写着“无效数字”这个查询有效:从crask_it_Ralph WIR中选择SUM(k.Score),关键字k,其中t_文本类“%”| | k.word | |谢谢!我不明白这些符号在干什么though@user2313460 . . . 这恰好是字符串连接的Oracle语法。此查询有效:从Crank_it_Ralph WIR中选择SUM(K.Score),关键字K WHERE t_text,如“%”| | K.word | |“%”谢谢!我不明白这些符号在干什么though@user2313460 . . . 这恰好是字符串连接的Oracle语法。