gpt4 book ai didi

sql - 将列的值添加到 LIKE 语句中?

转载 作者:行者123 更新时间:2023-12-04 06:57:25 25 4
gpt4 key购买 nike

我有 3 个标签表,标签类别和使用的标签。我想获得所有标签的列表,其中包含已使用标签的计数(所用标签的格式是每个具有标签的文档 ID 的逗号分隔值)。

我一直在尝试这样的事情,但我无法将 tags.tag 字段的值插入到 LIKE 语句中。
SELECT categories.category, tags.tag,

(SELECT COUNT(id) FROM usedtags WHERE usedtags.value LIKE '%tags.tag%') as numtags

FROM tags

LEFT JOIN categories ON categories.id = tags.category_id

ORDER BY categories.category, tags.tag

必须有更好的方法来做到这一点,但我的 SQL 不够好!!

有人可以指出我正确的方向吗?

非常感谢

最佳答案

像这样的事情,也许:

WHERE [column] LIKE [OtherColumn] + '%'



我还想指出您当前计划中的一个主要性能问题。您正在尝试在搜索中使用初始通配符,如下所示: LIKE '%tags.tag%' .这非常糟糕,因为它不适用于您的索引。我们会说它不是 sargable .任何时候你发现自己想要使用这样的初始通配符,你应该查看 full-text index反而。这并不难,并且会显着提高您的数据库性能。

关于sql - 将列的值添加到 LIKE 语句中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2388323/

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