gpt4 book ai didi

sql - SQL查询以选择不喜欢颜色变体的颜色

转载 作者:行者123 更新时间:2023-12-03 19:15:43 24 4
gpt4 key购买 nike

我一直在寻找一种更好的方法来执行此操作,但是没有找到适合我的具体情况的任何方法。这是在SQLite中。

我有以下查询:

select color1, color2 
from table
where color1 = 'red'
and color2 not like '%red%'
and color2 not like '%scarlet%'
and color2 not like '%cherry%'


换句话说,我正在尝试选择与已知颜色不匹配的颜色。我必须使用 like,因为这是自由格式的文本。

我的查询工作正常,但是随着我向它添加更多变体而变得笨拙。我尝试将变体放在另一个表中并使用子查询,如下所示:

select color1, color2 
from table
where color1 = 'red'
and color2 not like '%' || (select color_alias from color where color =
'red') || '%'


但是,like语句仅评估子查询返回的第一条记录。

有谁知道在查询表中包含颜色变体并仍然使用 like运算符的方法?

最佳答案

您可以使用exists运算符:

SELECT color1, color2
FROM mytable
WHERE color1 = 'red' AND
NOT EXISTS (SELECT *
FROM colors
WHERE color = 'red' AND
color LIKE '%' || color2 || '%')

关于sql - SQL查询以选择不喜欢颜色变体的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52897568/

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