查询中有多个子字符串

时间:2017-05-16 19:11:58

标签: mysql

我的最终目标是从数据库中获取电子邮件地址。但是,我的第一个查询检索与不同表中的电子邮件地址对应的ID。但是,查询以下列方式返回ID:

id

检索电子邮件的方法是

1:FOO,2:FOO,3:FOO,...

但是,由于来自SELECT email from emails where id in (SELECT id from other_table) 的ID为other_table格式且电子邮件地址表中的ID没有ID:FOO,因此我不会收到电子邮件。

我也试过

:FOO

然而,这不起作用。我想我需要能够从SELECT email FROM subscribers where CONCAT(id,":FOO") in (SELECT id from other_table) 检索ID,而不需要other_table来完成这项工作。如何从结果中删除所有:FOO

1 个答案:

答案 0 :(得分:0)

使用 GROUP_CONCAT

SELECT `email` FROM `emails` WHERE `id` IN(
   SELECT REPLACE(GROUP_CONCAT(`id`), ':FOO', '') FROM `other_table`
)