gpt4 book ai didi

mysql - 如果表行与另一个表行字符串匹配,则获取该表行

转载 作者:行者123 更新时间:2023-11-29 09:34:45 25 4
gpt4 key购买 nike

我正在尝试从一个表中获取与另一个表中的行匹配的行,而无需在单个查询中存储过程。这可能吗?让我用图形来解释一下。假设我有两个表

  • tbl_paragraph
  • tbl_keywords

我正在尝试获取与所有关键字行匹配的所有段落行。

tbl_paragraph

enter image description here

tbl_keyword

enter image description here

在这里,我将尝试获取与关键字表关键字列匹配的段落。所以结果会像下面这样

enter image description here

虽然我尝试过sql

SELECT a.* 
FROM tbl_paragraph AS a
INNER JOIN tbl_keywords b ON a.title LIKE '%b.keyword%'

但是它不起作用。

最佳答案

我实际上建议使用 REGEXP,而不是在这里使用 LIKE,它默认不区分大小写:

SELECT a.*
FROM tbl_paragraph a
WHERE EXISTS (SELECT 1 FROM tbl_keywords b
WHERE a.title REGEXP CONCAT('[[:<:]]', b.keyword, '[[:>:]]'));

除了区分大小写的问题之外,使用 REGEXP 相对于 LIKE 的另一个优点是前者允许我们使用单词边界。正如我编写的上述查询一样,它只会将关键字 we 作为独立单词进行匹配。也就是说,它不会weedwe进行匹配。这相当于在常规正则表达式术语中搜索 \bwe\b

关于mysql - 如果表行与另一个表行字符串匹配,则获取该表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57883696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com