gpt4 book ai didi

mysql - 两个字符串之间的 SQL 通配符

转载 作者:行者123 更新时间:2023-11-29 12:15:59 26 4
gpt4 key购买 nike

假设您有两个表:

            table1                         table2
id | cityA | cityB id | cities_queue|
1 a c 1 a , b , d
2 s f 2 a , b , c ,e
3 d m 3 a , m , d , e

我只想返回表 2 中包含具有特定顺序的 cityA 和 cityB 的行,首先是 cityA,然后(某处...)是 cityB。因此,唯一接受的结果必须是 (a , b , c, e)。首先想到的是使用 LIKE 命令查找 table2 的哪些行包含 cityA,然后使用 substr() 只接收 cityA 之后的 city_queue 的一部分,并再次使用 LIKE() 获取 cityB。所以我的问题是:是否可以只使用一次 LIKE() 作为字符串保存,例如

 (cityA) - % - (cityB)          

其中 % = 通配符查找包含 cityA 和 cityB 的所有 city_queue,无论它们之间有什么;如果是这样,请提供正确的语法。谢谢

最佳答案

不确定你的意思是什么,但元素的顺序是否真的很重要:

http://sqlfiddle.com/#!9/83459/7

SELECT t2.*
FROM table2 t2
INNER JOIN table1 t1
ON t2.cities_queue LIKE CONCAT('%',t1.cityA,' , ',t1.cityB,'%')

SELECT t2.*
FROM table2 t2
INNER JOIN table1 t1
ON t2.cities_queue LIKE CONCAT('%',t1.cityA,' % ',t1.cityB,'%')

关于mysql - 两个字符串之间的 SQL 通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29806147/

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