繁体   English   中英

查询效率包含

[英]Query Efficiency .contains

我想找到查询表的最有效方法:Psuedo代码很好

City     Name    Comment               Mentioned

Tampa    Steve   "I don't like Jim"
Tampa    Jim     "Who is Steve"
Lincoln  Sarah   "Where is Angie"
Lincoln  Angie   "Hi Sarah"

我想找到一个城市中的人提到同一城市中的其他人的地方。 有大量的数据,所以我需要最有效的方法。 我知道如何以多种方式编写查询,但是我正在寻找最佳方式。 所以基本上是史蒂夫“提到”吉姆,但是如果史蒂夫提到莎拉,那是无关紧要的,因为他们不是来自同一座城市。 我正在寻找LINQ或SQL。 注意: Jim可能有20条不同的评论,这就是为什么我不确定在评论中搜索作者之前是否应该创建一个单独的列表的原因。 提前致谢

select  t.Name, t1.Name Mentioned
from table t
inner join table t1 on t.City = t1.City
where t.Comment like '%' + t1.Name + '%'

不是MySql用户,所以我不知道这对MySql是否有效,但对其他DBs是否有效。

讨论后添加:

select t1.City, t1.Name, names.Name Mentions
from table t1
cross join
(
    select distinct x.Name, x.City
    from table x
) names
where names.Name <> t1.Name
and t1.Comment like '%' + names.Name + '%'

(这是SQL Server语法。根据需要进行调整。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM