在MYSQL中查找另一个字符串中的字符串

在MYSQL中查找另一个字符串中的字符串,mysql,Mysql,我有这个密码 SELECT `realestates`.`ID`, `realestates`.`Code` FROM `realestates` WHERE INSTR('S47ES35ES12E',('S' + realestates.ID + 'E')); 我有一张这样的房地产表 ID Code 1 4671 2 4890 ... 12 5031 ... 34 5033 35 6060 36 6061 .

我有这个密码

SELECT
`realestates`.`ID`,
`realestates`.`Code`
FROM
`realestates`
WHERE INSTR('S47ES35ES12E',('S' + realestates.ID + 'E'));
我有一张这样的房地产表

ID Code    
1  4671    
2  4890    
...    
12  5031    
...    
34  5033    
35  6060    
36  6061    
...    
47  7011   
48  7012   
... 
147 8000    
148 8101
我怎样才能更改它,使它只能找到ID为47、ID为35和ID为12的房地产?因为现在我有很多唱片。看起来我的'S'和'E'字符串被完全忽略了,所以它会在某个地方找到ID号中包含47的所有记录,这样就可以得到ID 147和ID 47


“我最喜欢的”字符串“S47ES35ES12E”是预选房地产的列表。我只想把它们打印在一页上,但我的代码也吸引了其他不在“我最喜欢的”字符串中的不动产。

这会给你你想要的,但这确实不是一个好的或有效的方法。理想情况下,您希望将收藏夹存储在另一个表中,然后
加入
结果集together@Gordon林诺夫-为更新干杯!我愚蠢的疏忽:$。没那么傻,因为OP在问题中有无效的语法。你就是那个人!非常感谢。这会给你你想要的,但是这并不是一个好的或有效的方法。理想情况下,您希望将收藏夹存储在另一个表中,然后
加入
结果集together@Gordon林诺夫-为更新干杯!我愚蠢的疏忽:$。没那么傻,因为OP在问题中有无效的语法。你就是那个人!非常感谢。您的语法,
'S'+realestates.ID+'E'
不是MySQL。如果您改为
concat('S',realeestes.ID,'E')
,您的查询可能会起作用。将列表存储在单个字段中是非常糟糕的设计。但是如果您坚持这样做,请使用逗号分隔的列表,这样您就可以使用
FIND_IN_SET()
。您的语法,
'S'+realestates.ID+'E'
不是MySQL。如果您改为
concat('S',realeestes.ID,'E')
,您的查询可能会起作用。将列表存储在单个字段中是非常糟糕的设计。但如果您坚持这样做,请使用逗号分隔的列表,这样您就可以使用
FIND\u IN\u SET()
WHERE  'S47ES35ES12E' LIKE concat('%S', realestates.ID, 'E%')